=== modified file 'passthroughserver/mpassthruwindow.cpp' --- old/passthroughserver/mpassthruwindow.cpp 2011-10-17 16:13:55 +0000 +++ new/passthroughserver/mpassthruwindow.cpp 2011-10-31 19:31:50 +0000 @@ -149,7 +149,9 @@ // is iconified (since the keyboard is transient to the remote // window it could result in the remote window to be shown by calling // showFullScreen) - if (!isVisible() && remoteWindow && !remoteWindow->isIconified()) { + // But skip this check if we explicitly say so + if (mApplication->forceShow() || + (!isVisible() && remoteWindow && !remoteWindow->isIconified())) { showFullScreen(); // If bypassing window hint, also do raise to ensure visibility: === modified file 'src/mimxapplication.cpp' --- old/src/mimxapplication.cpp 2011-10-17 16:13:55 +0000 +++ new/src/mimxapplication.cpp 2011-10-31 19:31:07 +0000 @@ -46,6 +46,7 @@ mManualRedirection(false), mBypassWMHint(false), mBackgroundSuppressed(false), + mForceShow(false), mPassThruWindow(), mRemoteWindow() { @@ -89,6 +90,8 @@ mBypassWMHint = true; } else if (arg == "-use-self-composition") { mSelfComposited = mCompositeExtension.supported(0, 2) && mDamageExtension.supported(); + } else if (arg == "-force-show") { + mForceShow = true; } } } @@ -183,6 +186,11 @@ return mBypassWMHint; } +bool MImXApplication::forceShow() const +{ + return mForceShow; +} + void MImXApplication::setSuppressBackground(bool suppress) { mBackgroundSuppressed = suppress; === modified file 'src/mimxapplication.h' --- old/src/mimxapplication.h 2011-10-17 16:13:55 +0000 +++ new/src/mimxapplication.h 2011-10-31 19:31:32 +0000 @@ -33,6 +33,7 @@ virtual bool selfComposited() const; bool manualRedirection() const; bool bypassWMHint() const; + bool forceShow() const; //! Flag that is used to sync between MAbstractInputMethodHost and //! rotation animation in order to capture the VKB without @@ -81,6 +82,7 @@ bool mManualRedirection; bool mBypassWMHint; bool mBackgroundSuppressed; + bool mForceShow; std::auto_ptr mPassThruWindow; std::auto_ptr mPluginsProxyWidget;