Never show EGLFS mouse cursor in Qt for Android platform plugin
The hack to use the environment variable for turning off the mouse cursor is broken when running against Ministro, because Ministro does not pass the environment on. A better solution is to make it possible to turn the cursor in the EGLFS plugin off in the hooks instead. Task-number: QTBUG-30553 Change-Id: Id09b48c350d2c95de9bb174f7480cf0cd2bf8145 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
This commit is contained in:
parent
f66af39933
commit
2e6e295f61
@ -478,7 +478,6 @@ public class QtActivity extends Activity
|
||||
}
|
||||
loaderParams.putStringArrayList(NATIVE_LIBRARIES_KEY, libraryList);
|
||||
loaderParams.putString(ENVIRONMENT_VARIABLES_KEY, ENVIRONMENT_VARIABLES
|
||||
+ "QT_QPA_EGLFS_HIDECURSOR=1"
|
||||
+ "\tQML2_IMPORT_PATH=" + localPrefix + "/qml"
|
||||
+ "\tQML_IMPORT_PATH=" + localPrefix + "/imports"
|
||||
+ "\tQT_PLUGIN_PATH=" + localPrefix + "/plugins");
|
||||
|
@ -62,6 +62,7 @@ public:
|
||||
EGLNativeWindowType createNativeWindow(const QSize &size, const QSurfaceFormat &format);
|
||||
void destroyNativeWindow(EGLNativeWindowType window);
|
||||
bool hasCapability(QPlatformIntegration::Capability cap) const;
|
||||
QEglFSCursor *createCursor(QEglFSScreen *screen) const;
|
||||
};
|
||||
|
||||
void QEglFSAndroidHooks::platformInit()
|
||||
@ -134,6 +135,12 @@ QSurfaceFormat QEglFSAndroidHooks::surfaceFormatFor(const QSurfaceFormat &inputF
|
||||
return ret;
|
||||
}
|
||||
|
||||
QEglFSCursor *QEglFSAndroidHooks::createCursor(QEglFSScreen *screen) const
|
||||
{
|
||||
Q_UNUSED(screen);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static QEglFSAndroidHooks eglFSAndroidHooks;
|
||||
QEglFSHooks *platformHooks = &eglFSAndroidHooks;
|
||||
|
||||
|
@ -40,6 +40,7 @@
|
||||
****************************************************************************/
|
||||
|
||||
#include "qeglfshooks.h"
|
||||
#include "qeglfscursor.h"
|
||||
|
||||
#include <fcntl.h>
|
||||
#include <unistd.h>
|
||||
@ -249,8 +250,7 @@ bool QEglFSHooks::hasCapability(QPlatformIntegration::Capability cap) const
|
||||
|
||||
QEglFSCursor *QEglFSHooks::createCursor(QEglFSScreen *screen) const
|
||||
{
|
||||
Q_UNUSED(screen);
|
||||
return 0;
|
||||
return new QEglFSCursor(screen);
|
||||
}
|
||||
|
||||
void QEglFSHooks::waitForVSync() const
|
||||
|
@ -55,12 +55,8 @@ QEglFSScreen::QEglFSScreen(EGLDisplay dpy)
|
||||
#endif
|
||||
|
||||
static int hideCursor = qgetenv("QT_QPA_EGLFS_HIDECURSOR").toInt();
|
||||
if (!hideCursor) {
|
||||
if (QEglFSCursor *customCursor = QEglFSHooks::hooks()->createCursor(this))
|
||||
m_cursor = customCursor;
|
||||
else
|
||||
m_cursor = new QEglFSCursor(this);
|
||||
}
|
||||
if (!hideCursor)
|
||||
m_cursor = QEglFSHooks::hooks()->createCursor(this);
|
||||
}
|
||||
|
||||
QEglFSScreen::~QEglFSScreen()
|
||||
|
Loading…
x
Reference in New Issue
Block a user