summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/platforms')
-rw-r--r--src/plugins/platforms/xcb/qxcbconnection.cpp6
-rw-r--r--src/plugins/platforms/xcb/qxcbconnection.h9
2 files changed, 9 insertions, 6 deletions
diff --git a/src/plugins/platforms/xcb/qxcbconnection.cpp b/src/plugins/platforms/xcb/qxcbconnection.cpp
index 6969124b2a..0c51cc9255 100644
--- a/src/plugins/platforms/xcb/qxcbconnection.cpp
+++ b/src/plugins/platforms/xcb/qxcbconnection.cpp
@@ -615,7 +615,7 @@ void QXcbEventReader::addEvent(xcb_generic_event_t *event)
m_events << event;
}
-QList<xcb_generic_event_t *> *QXcbEventReader::lock()
+QXcbEventArray *QXcbEventReader::lock()
{
m_mutex.lock();
#ifndef XCB_POLL_FOR_QUEUED_EVENT
@@ -648,7 +648,7 @@ void QXcbConnection::sendConnectionEvent(QXcbAtom::Atom a, uint id)
void QXcbConnection::processXcbEvents()
{
- QList<xcb_generic_event_t *> *eventqueue = m_reader->lock();
+ QXcbEventArray *eventqueue = m_reader->lock();
for(int i = 0; i < eventqueue->size(); ++i) {
xcb_generic_event_t *event = eventqueue->at(i);
@@ -711,7 +711,7 @@ void QXcbConnection::handleClientMessageEvent(const xcb_client_message_event_t *
xcb_generic_event_t *QXcbConnection::checkEvent(int type)
{
- QList<xcb_generic_event_t *> *eventqueue = m_reader->lock();
+ QXcbEventArray *eventqueue = m_reader->lock();
for (int i = 0; i < eventqueue->size(); ++i) {
xcb_generic_event_t *event = eventqueue->at(i);
diff --git a/src/plugins/platforms/xcb/qxcbconnection.h b/src/plugins/platforms/xcb/qxcbconnection.h
index ebe95c0013..878d41ad89 100644
--- a/src/plugins/platforms/xcb/qxcbconnection.h
+++ b/src/plugins/platforms/xcb/qxcbconnection.h
@@ -50,6 +50,7 @@
#include <QObject>
#include <QThread>
#include <QVector>
+#include <QVarLengthArray>
#ifdef XCB_USE_XINPUT2_MAEMO
struct XInput2Data;
@@ -249,6 +250,8 @@ namespace QXcbAtom {
};
}
+typedef QVarLengthArray<xcb_generic_event_t *, 64> QXcbEventArray;
+
class QXcbConnection;
class QXcbEventReader : public QThread
{
@@ -263,7 +266,7 @@ public:
void run();
#endif
- QList<xcb_generic_event_t *> *lock();
+ QXcbEventArray *lock();
void unlock();
signals:
@@ -273,7 +276,7 @@ private:
void addEvent(xcb_generic_event_t *event);
QMutex m_mutex;
- QList<xcb_generic_event_t *> m_events;
+ QXcbEventArray m_events;
QXcbConnection *m_connection;
};
@@ -427,7 +430,7 @@ private:
template<typename T>
xcb_generic_event_t *QXcbConnection::checkEvent(const T &checker)
{
- QList<xcb_generic_event_t *> *eventqueue = m_reader->lock();
+ QXcbEventArray *eventqueue = m_reader->lock();
for (int i = 0; i < eventqueue->size(); ++i) {
xcb_generic_event_t *event = eventqueue->at(i);