[Buildroot] [PATCH v1] package/qt5base: fix input_event related compile failure

Peter Seiderer ps.report at gmx.net
Mon May 4 21:45:52 UTC 2020


Fixes:

  - http://autobuild.buildroot.net/results/af76190876656252eb6f60220cdb1d627a03b7c3

  evdevkeyboard/qevdevkeyboardhandler.cpp: In member function ‘void QEvdevKeyboardHandler::switchLed(int, bool)’:
  evdevkeyboard/qevdevkeyboardhandler.cpp:153:28: error: ‘struct input_event’ has no member named ‘time’; did you mean ‘type’?
       ::gettimeofday(&led_ie.time, 0);
                              ^~~~
                              type

  evdevtouch/qevdevtouchhandler.cpp: In member function ‘void QEvdevTouchScreenData::processInputEvent(input_event*)’:
  evdevtouch/qevdevtouchhandler.cpp:579:29: error: ‘struct input_event’ has no member named ‘time’; did you mean ‘type’?
           m_timeStamp = data->time.tv_sec + data->time.tv_usec / 1000000.0;
                               ^~~~
                               type
  evdevtouch/qevdevtouchhandler.cpp:579:49: error: ‘struct input_event’ has no member named ‘time’; did you mean ‘type’?
           m_timeStamp = data->time.tv_sec + data->time.tv_usec / 1000000.0;
                                                   ^~~~
                                                   type

Signed-off-by: Peter Seiderer <ps.report at gmx.net>
---
 ...fix-input_event-time-related-compile.patch | 56 +++++++++++++++++++
 ...fix-input_event-time-related-compile.patch | 56 +++++++++++++++++++
 2 files changed, 112 insertions(+)
 create mode 100644 package/qt5/qt5base/0005-evdevkeyboard-fix-input_event-time-related-compile.patch
 create mode 100644 package/qt5/qt5base/0006-evdevtouch-fix-input_event-time-related-compile.patch

diff --git a/package/qt5/qt5base/0005-evdevkeyboard-fix-input_event-time-related-compile.patch b/package/qt5/qt5base/0005-evdevkeyboard-fix-input_event-time-related-compile.patch
new file mode 100644
index 0000000000..b1f64660eb
--- /dev/null
+++ b/package/qt5/qt5base/0005-evdevkeyboard-fix-input_event-time-related-compile.patch
@@ -0,0 +1,56 @@
+From e3821efb37d64d599760b82beac024804188b824 Mon Sep 17 00:00:00 2001
+From: Peter Seiderer <ps.report at gmx.net>
+Date: Mon, 4 May 2020 23:17:45 +0200
+Subject: [PATCH 5/6] evdevkeyboard: fix input_event time related compile
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Fixes:
+
+  evdevkeyboard/qevdevkeyboardhandler.cpp: In member function ‘void QEvdevKeyboardHandler::switchLed(int, bool)’:
+  evdevkeyboard/qevdevkeyboardhandler.cpp:153:28: error: ‘struct input_event’ has no member named ‘time’; did you mean ‘type’?
+       ::gettimeofday(&led_ie.time, 0);
+                              ^~~~
+                              type
+
+Signed-off-by: Peter Seiderer <ps.report at gmx.net>
+---
+ .../input/evdevkeyboard/qevdevkeyboardhandler.cpp   | 13 ++++++++++++-
+ 1 file changed, 12 insertions(+), 1 deletion(-)
+
+diff --git a/src/platformsupport/input/evdevkeyboard/qevdevkeyboardhandler.cpp b/src/platformsupport/input/evdevkeyboard/qevdevkeyboardhandler.cpp
+index 3555763b..de37f5e2 100644
+--- a/src/platformsupport/input/evdevkeyboard/qevdevkeyboardhandler.cpp
++++ b/src/platformsupport/input/evdevkeyboard/qevdevkeyboardhandler.cpp
+@@ -58,6 +58,14 @@
+ #include <linux/input.h>
+ #endif
+ 
++#ifndef input_event_sec
++#define input_event_sec time.tv_sec
++#endif
++
++#ifndef input_event_usec
++#define input_event_usec time.tv_usec
++#endif
++
+ QT_BEGIN_NAMESPACE
+ 
+ Q_LOGGING_CATEGORY(qLcEvdevKey, "qt.qpa.input")
+@@ -149,8 +157,11 @@ void QEvdevKeyboardHandler::switchLed(int led, bool state)
+ {
+     qCDebug(qLcEvdevKey, "switchLed %d %d", led, int(state));
+ 
++    struct timeval tv;
++    ::gettimeofday(&tv, 0);
+     struct ::input_event led_ie;
+-    ::gettimeofday(&led_ie.time, 0);
++    led_ie.input_event_sec = tv.tv_sec;
++    led_ie.input_event_usec = tv.tv_usec;
+     led_ie.type = EV_LED;
+     led_ie.code = led;
+     led_ie.value = state;
+-- 
+2.26.2
+
diff --git a/package/qt5/qt5base/0006-evdevtouch-fix-input_event-time-related-compile.patch b/package/qt5/qt5base/0006-evdevtouch-fix-input_event-time-related-compile.patch
new file mode 100644
index 0000000000..8acbb905c5
--- /dev/null
+++ b/package/qt5/qt5base/0006-evdevtouch-fix-input_event-time-related-compile.patch
@@ -0,0 +1,56 @@
+From c9adb999cdb21f991f2c70b1d3b40e16d4fed2c0 Mon Sep 17 00:00:00 2001
+From: Peter Seiderer <ps.report at gmx.net>
+Date: Mon, 4 May 2020 23:19:25 +0200
+Subject: [PATCH 6/6] evdevtouch: fix input_event time related compile
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Fixes:
+
+  evdevtouch/qevdevtouchhandler.cpp: In member function ‘void QEvdevTouchScreenData::processInputEvent(input_event*)’:
+  evdevtouch/qevdevtouchhandler.cpp:579:29: error: ‘struct input_event’ has no member named ‘time’; did you mean ‘type’?
+           m_timeStamp = data->time.tv_sec + data->time.tv_usec / 1000000.0;
+                               ^~~~
+                               type
+  evdevtouch/qevdevtouchhandler.cpp:579:49: error: ‘struct input_event’ has no member named ‘time’; did you mean ‘type’?
+           m_timeStamp = data->time.tv_sec + data->time.tv_usec / 1000000.0;
+                                                   ^~~~
+                                                   type
+
+Signed-off-by: Peter Seiderer <ps.report at gmx.net>
+---
+ .../input/evdevtouch/qevdevtouchhandler.cpp            | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/src/platformsupport/input/evdevtouch/qevdevtouchhandler.cpp b/src/platformsupport/input/evdevtouch/qevdevtouchhandler.cpp
+index c51db59e..94a9b103 100644
+--- a/src/platformsupport/input/evdevtouch/qevdevtouchhandler.cpp
++++ b/src/platformsupport/input/evdevtouch/qevdevtouchhandler.cpp
+@@ -58,6 +58,14 @@
+ #include <linux/input.h>
+ #endif
+ 
++#ifndef input_event_sec
++#define input_event_sec time.tv_sec
++#endif
++
++#ifndef input_event_usec
++#define input_event_usec time.tv_usec
++#endif
++
+ #include <math.h>
+ 
+ #if QT_CONFIG(mtdev)
+@@ -576,7 +584,7 @@ void QEvdevTouchScreenData::processInputEvent(input_event *data)
+ 
+         // update timestamps
+         m_lastTimeStamp = m_timeStamp;
+-        m_timeStamp = data->time.tv_sec + data->time.tv_usec / 1000000.0;
++        m_timeStamp = data->input_event_sec + data->input_event_usec / 1000000.0;
+ 
+         m_lastTouchPoints = m_touchPoints;
+         m_touchPoints.clear();
+-- 
+2.26.2
+
-- 
2.26.2



More information about the buildroot mailing list