Comment 4 for bug 1233550

Revision history for this message
Bill Filler (bfiller) wrote :

latest debugging from gush:

I upgraded my MR - with that change, the OSK always remains hidden, after
swiping it away. So it's easier to reproduce the issue (at least on my maguro)
...

https://code.launchpad.net/~schwann/ubuntu-keyboard/keyboard-swipe-hide-show/+merge/191263

For the focus inside the app, or the app not having the focus. I don't think
that's the case. Otherwise the OSK would work again after switching to another
app.
So I rather think the issue is really on the maliit-server (the OSK) itself.

I just added a timer - printing a debug message every second.
When the display stays hidden, the output stops.
Which means the maliit-server process is frozen.

And with some debugging I can see that
"view->setVisible(false);" never returns. (view is a QQuickView object).

in "void closeOskWindow()" of file src/plugin/inputmethod_p.h
I used this debug messages:
    void closeOskWindow()
    {
        if (!view->isVisible())
            return;
        qWarning() << Q_FUNC_INFO << 1;
        host->notifyImInitiatedHiding();
        qWarning() << Q_FUNC_INFO << 2;
        qmlRootItem->setProperty("shown", false);
        qWarning() << Q_FUNC_INFO << 3;
        layout.updater.resetOnKeyboardClosed();
        qWarning() << Q_FUNC_INFO << 4;
        editor.clearPreedit();
        qWarning() << Q_FUNC_INFO << 5;
        view->setVisible(false);
        qWarning() << Q_FUNC_INFO << 6;
        applicationApiWrapper->reportOSKInvisible();
        qWarning() << Q_FUNC_INFO << 7;
    }

and got that output:
WARNING: void MaliitKeyboard::InputMethodPrivate::closeOskWindow() 1
WARNING: void MaliitKeyboard::InputMethodPrivate::closeOskWindow() 2
WARNING: void MaliitKeyboard::InputMethodPrivate::closeOskWindow() 3
WARNING: void MaliitKeyboard::InputMethodPrivate::closeOskWindow() 4
WARNING: void MaliitKeyboard::InputMethodPrivate::closeOskWindow() 5