We have moved to a new Sailfish OS Forum. Please start new discussions there.

Revision history [back]

click to hide/show revision 1
initial version

posted 2014-06-06 10:34:54 +0200

Closing dialog with VKB active breaks canvas on returning page

While implementing text overlay tool to Paint application noticed following annoyance (#bug)

I have a page with canvas, then i push to a Dialog with TextField to enter some text. When i accept the Dialog it returns nicely to the page, but if the KVB is open, canvas gets roughly 10 onPaint events. If VKB is hidden while closing dialog there are no such onPaint events.

And when next draw/stroke/path (in this case context.fillText()) is applied to the canvas, everything that was already drawn on canvas gets cleared. Sometimes random pixels appear too.

Maybe pageStack animation happening at same time as the VKB fadeout happens causes this (?)

As workaround, before allowing Dialog to be accepted, i set TextField.focus to false, wait 500ms for VKB to disappear, then call Dialog.accept().

(Have not tried PageStackAction.Immediate, or is it even possible to apply to Accept (or Cancel) dialog events?)

Closing dialog with VKB active breaks canvas on returning page

While implementing text overlay tool to Paint application noticed following annoyance (#bug)

I have a page with canvas, then i push to a Dialog with TextField to enter some text. When i accept the Dialog it returns nicely to the page, but if the KVB VKB is open, canvas gets roughly 10 onPaint events. If VKB is hidden while closing dialog there are no such onPaint events.

And when next draw/stroke/path (in this case context.fillText()) is applied to the canvas, everything that was already drawn on canvas gets cleared. Sometimes random pixels appear too.

Maybe pageStack animation happening at same time as the VKB fadeout happens causes this (?)

As workaround, before allowing Dialog to be accepted, i set TextField.focus to false, wait 500ms for VKB to disappear, then call Dialog.accept().

(Have not tried PageStackAction.Immediate, or is it even possible to apply to Accept (or Cancel) dialog events?)

*VKB Virtual keyboard

Closing dialog with VKB active breaks canvas on returning page

While implementing text overlay tool to Paint application noticed following annoyance (#bug)

I have a page with canvas, then i push to a Dialog with TextField to enter some text. When i accept the Dialog it returns nicely to the page, but if the VKB is open, canvas gets roughly 10 onPaint events. If VKB is hidden while closing dialog there are no such onPaint events.

And when next draw/stroke/path (in this case context.fillText()) is applied to the canvas, everything that was already drawn on canvas gets cleared. Sometimes random pixels appear too.

Maybe pageStack animation happening at same time as the VKB fadeout happens causes this (?)

As workaround, before allowing Dialog to be accepted, i set TextField.focus to false, wait 500ms for VKB to disappear, then call Dialog.accept().

(Have not tried PageStackAction.Immediate, or is it even possible to apply to Accept (or Cancel) dialog events?)

*VKB Virtual keyboard