The Meego InputContext get initialized to early during startup, it expects that i.e. the QApplication is already initilized and a window is around. This is not the case, which finally cause a X-Error, XError: XFixesShowCursor: BadMatch (invalid parameter attributes); 9 requests ago fennec: xcb_io.c:183: process_responses: Assertion `!(req && current_request && !(((long) (req->sequence) - (long) (current_request)) <= 0))' failed. BT: #12 0xb36d18b5 in XFixesShowCursor () from /usr/lib/libXfixes.so.3 #13 0xadba0fb7 in MComponentData::setShowCursor(bool) () from /usr/lib/libmeegotouchcore.so.0 #14 0xadba433b in ?? () from /usr/lib/libmeegotouchcore.so.0 #15 0xadba47f1 in MComponentData::MComponentData(int&, char**, QString const&, MApplicationService*) () from /usr/lib/libmeegotouchcore.so.0 #16 0xb081a731 in MInputContext::MInputContext(QObject*) () from /usr/lib/qt4/plugins/inputmethods/libminputcontext.so #17 0xb0822f9f in MInputContextPlugin::create(QString const&) () from /usr/lib/qt4/plugins/inputmethods/libminputcontext.so #18 0xb7ad09d9 in QInputContextFactory::create(QString const&, QObject*) () from /usr/lib/libQtGui.so.4 #19 0xb4b36bf6 in XRE_main () from /home/meego/18/xulrunner/libxul.so #20 0x08049ad0 in main () Solution: Initialize it later.
Created attachment 504653 [details] [diff] [review] Move the inputcontext to the end of startup process This fix the bug.
Attachment #504653 - Flags: review?(doug.turner)
Attachment #504653 - Flags: review?(doug.turner) → review?(romaxa)
Comment on attachment 504653 [details] [diff] [review] Move the inputcontext to the end of startup process 1) What is important happen between QScopedPointer<QApplication> app and "LaunchChild", that makes Meego IM init working? 2) Does it cause crash or failed IM initialization, or it is just Warning in terminal? 3) Should not it be fixed anyhow on Qt/Meego side and do not try to use something, is there are any restriction/description about QInputContextFactory usage API, which says that you are not supposed to call QInputContextFactory::create right after QApplication created or something like that?
I can not explain 100% wtf is going on. The point is that it does try to use QPixmap while initializing the Component Data, which cause a Crash since the QApplication itself is not initialized yet and there is not even a Window Created. Something in the order of initializing and usage of Xulrunner / Showing of Windows is wrong here. It is a special requierment coming from the usage of MComponentData in the MInputContext. Same is happeing ie. when using the Qt-Meego Style. Its broken well, - but solution is simple, let first xulrunner initialize it self (and all windows/widgets of it) >> than its fine to initialize MComponentData.
Comment on attachment 504653 [details] [diff] [review] Move the inputcontext to the end of startup process with this change, I don't have that code called at all.
Attachment #504653 - Flags: review?(romaxa) → review-
You need to log in before you can comment on or make changes to this bug.