Migrate tslib to new plugin format
authorLaszlo Agocs <laszlo.p.agocs@nokia.com>
Thu, 24 May 2012 10:41:36 +0000 (13:41 +0300)
committerQt by Nokia <qt-info@nokia.com>
Fri, 1 Jun 2012 01:15:52 +0000 (03:15 +0200)
Also rename the binary and avoid crashes when tslib initialization
fails.

Change-Id: Ia7ccf7c997e1b1484bd475626ca16c9a9642466e
Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
src/plugins/generic/tslib/main.cpp
src/plugins/generic/tslib/qtslib.cpp
src/plugins/generic/tslib/tslib.json [new file with mode: 0644]
src/plugins/generic/tslib/tslib.pro

index 1bbc618..dc04313 100644 (file)
@@ -46,6 +46,9 @@ QT_BEGIN_NAMESPACE
 
 class QTsLibPlugin : public QGenericPlugin
 {
+    Q_OBJECT
+    Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QGenericPluginFactoryInterface" FILE "tslib.json")
+
 public:
     QTsLibPlugin();
 
@@ -71,8 +74,8 @@ QObject* QTsLibPlugin::create(const QString &key,
     if (!key.compare(QLatin1String("Tslib"), Qt::CaseInsensitive) || !key.compare(QLatin1String("TslibRaw"), Qt::CaseInsensitive))
         return new QTsLibMouseHandler(key, specification);
     return 0;
-    }
-
-Q_EXPORT_PLUGIN2(qtslibplugin, QTsLibPlugin)
+}
 
 QT_END_NAMESPACE
+
+#include "main.moc"
index 6fec309..369b602 100644 (file)
@@ -68,13 +68,16 @@ QTsLibMouseHandler::QTsLibMouseHandler(const QString &key,
     if (specification.startsWith("/dev/"))
         device = specification.toLocal8Bit();
 
-    m_dev =  ts_open(device.constData(), 1);
+    m_dev = ts_open(device.constData(), 1);
+    if (!m_dev) {
+        qErrnoWarning(errno, "ts_open() failed");
+        return;
+    }
 
     if (ts_config(m_dev)) {
         perror("Error configuring\n");
     }
 
-
     m_rawMode =  !key.compare(QLatin1String("TslibRaw"), Qt::CaseInsensitive);
 
     int fd = ts_fd(m_dev);
diff --git a/src/plugins/generic/tslib/tslib.json b/src/plugins/generic/tslib/tslib.json
new file mode 100644 (file)
index 0000000..53b6a9e
--- /dev/null
@@ -0,0 +1,3 @@
+{
+    "Keys": [ "Tslib", "TslibRaw" ]
+}
index d9726b6..6b46798 100644 (file)
@@ -1,4 +1,4 @@
-TARGET = qlinuxinputplugin
+TARGET = qtslibplugin
 load(qt_plugin)
 
 DESTDIR = $$QT.gui.plugins/generic
@@ -11,3 +11,5 @@ SOURCES       = main.cpp \
        qtslib.cpp
 
 LIBS += -lts
+
+OTHER_FILES += tslib.json