From 22ef98c0b11f3d2e48af6adce11d79c5d1cae194 Mon Sep 17 00:00:00 2001 From: Laszlo Agocs Date: Thu, 24 May 2012 13:41:36 +0300 Subject: Migrate tslib to new plugin format MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Also rename the binary and avoid crashes when tslib initialization fails. Change-Id: Ia7ccf7c997e1b1484bd475626ca16c9a9642466e Reviewed-by: Samuel Rødal --- src/plugins/generic/tslib/main.cpp | 9 ++++++--- src/plugins/generic/tslib/qtslib.cpp | 7 +++++-- src/plugins/generic/tslib/tslib.json | 3 +++ src/plugins/generic/tslib/tslib.pro | 4 +++- 4 files changed, 17 insertions(+), 6 deletions(-) create mode 100644 src/plugins/generic/tslib/tslib.json diff --git a/src/plugins/generic/tslib/main.cpp b/src/plugins/generic/tslib/main.cpp index 1bbc618d6d..dc043138e9 100644 --- a/src/plugins/generic/tslib/main.cpp +++ b/src/plugins/generic/tslib/main.cpp @@ -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" diff --git a/src/plugins/generic/tslib/qtslib.cpp b/src/plugins/generic/tslib/qtslib.cpp index 6fec309f9a..369b602c1a 100644 --- a/src/plugins/generic/tslib/qtslib.cpp +++ b/src/plugins/generic/tslib/qtslib.cpp @@ -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 index 0000000000..53b6a9ec30 --- /dev/null +++ b/src/plugins/generic/tslib/tslib.json @@ -0,0 +1,3 @@ +{ + "Keys": [ "Tslib", "TslibRaw" ] +} diff --git a/src/plugins/generic/tslib/tslib.pro b/src/plugins/generic/tslib/tslib.pro index d9726b6d3a..6b46798d84 100644 --- a/src/plugins/generic/tslib/tslib.pro +++ b/src/plugins/generic/tslib/tslib.pro @@ -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 -- cgit v1.2.3