summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSamuel Rødal <samuel.rodal@nokia.com>2010-09-07 09:49:34 (GMT)
committerSamuel Rødal <samuel.rodal@nokia.com>2010-09-10 10:44:56 (GMT)
commitb2ef75097e608afc717604884c4b6e4b22e78dee (patch)
tree40f9148eba79cfe7e82c9b771b465e953a3ea2ff /src
parent0d9c5bc460c66a96edc9416e5d7e5a56983562a4 (diff)
downloadQt-b2ef75097e608afc717604884c4b6e4b22e78dee.zip
Qt-b2ef75097e608afc717604884c4b6e4b22e78dee.tar.gz
Qt-b2ef75097e608afc717604884c4b6e4b22e78dee.tar.bz2
Use QFactoryLoader to ensure we get the correct graphics system plugin.
Also, this prevents hard-coding the path to the meego plugin.
Diffstat (limited to 'src')
-rw-r--r--src/corelib/plugin/qfactoryloader.cpp8
-rw-r--r--src/corelib/plugin/qfactoryloader_p.h4
-rw-r--r--src/plugins/graphicssystems/meego/qmeegographicssystem.h16
3 files changed, 20 insertions, 8 deletions
diff --git a/src/corelib/plugin/qfactoryloader.cpp b/src/corelib/plugin/qfactoryloader.cpp
index 62d565a..a26dcd8 100644
--- a/src/corelib/plugin/qfactoryloader.cpp
+++ b/src/corelib/plugin/qfactoryloader.cpp
@@ -244,6 +244,14 @@ QObject *QFactoryLoader::instance(const QString &key) const
return 0;
}
+#ifdef Q_WS_X11
+QLibraryPrivate *QFactoryLoader::library(const QString &key) const
+{
+ Q_D(const QFactoryLoader);
+ return d->keyMap.value(d->cs ? key : key.toLower());
+}
+#endif
+
void QFactoryLoader::refreshAll()
{
QMutexLocker locker(qt_factoryloader_mutex());
diff --git a/src/corelib/plugin/qfactoryloader_p.h b/src/corelib/plugin/qfactoryloader_p.h
index 10e6e2a..068c6c7 100644
--- a/src/corelib/plugin/qfactoryloader_p.h
+++ b/src/corelib/plugin/qfactoryloader_p.h
@@ -77,6 +77,10 @@ public:
QStringList keys() const;
QObject *instance(const QString &key) const;
+#ifdef Q_WS_X11
+ QLibraryPrivate *library(const QString &key) const;
+#endif
+
void update();
static void refreshAll();
diff --git a/src/plugins/graphicssystems/meego/qmeegographicssystem.h b/src/plugins/graphicssystems/meego/qmeegographicssystem.h
index 59392ad..905f0c3 100644
--- a/src/plugins/graphicssystems/meego/qmeegographicssystem.h
+++ b/src/plugins/graphicssystems/meego/qmeegographicssystem.h
@@ -72,14 +72,14 @@ private:
/* C api */
extern "C" {
- int qt_meego_image_to_egl_shared_image(const QImage &image);
- QPixmapData* qt_meego_pixmapdata_from_egl_shared_image(Qt::HANDLE handle, const QImage &softImage);
- QPixmapData* qt_meego_pixmapdata_with_gl_texture(int w, int h);
- void qt_meego_update_egl_shared_image_pixmap(QPixmap *pixmap);
- bool qt_meego_destroy_egl_shared_image(Qt::HANDLE handle);
- void qt_meego_set_surface_fixed_size(int width, int height);
- void qt_meego_set_surface_scaling(int x, int y, int width, int height);
- void qt_meego_set_translucent(bool translucent);
+ Q_DECL_EXPORT int qt_meego_image_to_egl_shared_image(const QImage &image);
+ Q_DECL_EXPORT QPixmapData* qt_meego_pixmapdata_from_egl_shared_image(Qt::HANDLE handle, const QImage &softImage);
+ Q_DECL_EXPORT QPixmapData* qt_meego_pixmapdata_with_gl_texture(int w, int h);
+ Q_DECL_EXPORT void qt_meego_update_egl_shared_image_pixmap(QPixmap *pixmap);
+ Q_DECL_EXPORT bool qt_meego_destroy_egl_shared_image(Qt::HANDLE handle);
+ Q_DECL_EXPORT void qt_meego_set_surface_fixed_size(int width, int height);
+ Q_DECL_EXPORT void qt_meego_set_surface_scaling(int x, int y, int width, int height);
+ Q_DECL_EXPORT void qt_meego_set_translucent(bool translucent);
}
#endif