summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gui/kernel/qapplication.cpp2
-rw-r--r--src/gui/kernel/qdnd_x11.cpp4
-rw-r--r--src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.cpp13
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/merge_ordering/project.ts.result2
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/mergeui/project.ts.before6
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/mergeui/project.ts.result6
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/multiple_locations/project.ts.result6
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/namespaces/project.ts.result2
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/parseui/project.ts.result4
-rw-r--r--tests/auto/linguist/lupdate/testdata/good/prefix/project.ts.result6
-rw-r--r--tests/auto/qwidget/tst_qwidget.cpp82
-rw-r--r--tools/linguist/shared/java.cpp1
12 files changed, 110 insertions, 24 deletions
diff --git a/src/gui/kernel/qapplication.cpp b/src/gui/kernel/qapplication.cpp
index 3715059..832d829 100644
--- a/src/gui/kernel/qapplication.cpp
+++ b/src/gui/kernel/qapplication.cpp
@@ -3002,7 +3002,7 @@ void QApplicationPrivate::sendSyntheticEnterLeave(QWidget *widget)
qt_button_down = 0;
// Send enter/leave events followed by a mouse move on the entered widget.
- QMouseEvent e(QEvent::MouseMove, pos, globalPos, Qt::NoButton, mouse_buttons, modifier_buttons);
+ QMouseEvent e(QEvent::MouseMove, pos, globalPos, Qt::NoButton, Qt::NoButton, Qt::NoModifier);
sendMouseEvent(widgetUnderCursor, &e, widgetUnderCursor, tlw, &qt_button_down, qt_last_mouse_receiver);
#endif // QT_NO_CURSOR
}
diff --git a/src/gui/kernel/qdnd_x11.cpp b/src/gui/kernel/qdnd_x11.cpp
index d1ef810..d5a6095 100644
--- a/src/gui/kernel/qdnd_x11.cpp
+++ b/src/gui/kernel/qdnd_x11.cpp
@@ -506,6 +506,7 @@ bool QX11Data::xdndMimeDataForAtom(Atom a, QMimeData *mimeData, QByteArray *data
*atomFormat = textprop.encoding;
*dataFormat = textprop.format;
*data = QByteArray((const char *) textprop.value, textprop.nitems * textprop.format / 8);
+ ret = true;
DEBUG(" textprop type %lx\n"
" textprop name '%s'\n"
@@ -541,10 +542,11 @@ bool QX11Data::xdndMimeDataForAtom(Atom a, QMimeData *mimeData, QByteArray *data
dm->xdndMimeTransferedPixmap[dm->xdndMimeTransferedPixmapIndex] = pm;
dm->xdndMimeTransferedPixmapIndex =
(dm->xdndMimeTransferedPixmapIndex + 1) % 2;
+ ret = true;
}
}
}
- return data;
+ return ret && data != 0;
}
//$$$
diff --git a/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.cpp b/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.cpp
index 3698afd..afee77e 100644
--- a/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.cpp
+++ b/src/plugins/gfxdrivers/powervr/pvreglscreen/pvreglwindowsurface.cpp
@@ -157,18 +157,21 @@ QImage PvrEglWindowSurface::image() const
void *data = pvrQwsGetRenderBuffer(drawable);
if (data) {
return QImage((uchar *)data, pvrRect.width, pvrRect.height,
- pvrQwsGetStride(drawable), QImage::Format_RGB16);
+ pvrQwsGetStride(drawable), screen->pixelFormat());
}
}
- return QImage();
+ return QImage(16, 16, screen->pixelFormat());
}
QPaintDevice *PvrEglWindowSurface::paintDevice()
{
- // Return a dummy paint device because the widget itself
- // cannot be painted to this way.
+ QGLWidget *glWidget = qobject_cast<QGLWidget *>(window());
+ if (glWidget)
+ return glWidget;
+
+ // Should be a QGLWidget, but if not return a dummy paint device.
if (!pdevice)
- pdevice = new QImage(50, 50, QImage::Format_RGB16);
+ pdevice = new QImage(50, 50, screen->pixelFormat());
return pdevice;
}
diff --git a/tests/auto/linguist/lupdate/testdata/good/merge_ordering/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/merge_ordering/project.ts.result
index 5104860..4fe1e37 100644
--- a/tests/auto/linguist/lupdate/testdata/good/merge_ordering/project.ts.result
+++ b/tests/auto/linguist/lupdate/testdata/good/merge_ordering/project.ts.result
@@ -4,7 +4,7 @@
<context>
<name>Foo</name>
<message>
- <location filename="foo.cpp" line="+54"/>
+ <location filename="foo.cpp" line="+53"/>
<source>This is the first entry.</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tests/auto/linguist/lupdate/testdata/good/mergeui/project.ts.before b/tests/auto/linguist/lupdate/testdata/good/mergeui/project.ts.before
index e297784..1602dcc 100644
--- a/tests/auto/linguist/lupdate/testdata/good/mergeui/project.ts.before
+++ b/tests/auto/linguist/lupdate/testdata/good/mergeui/project.ts.before
@@ -3,18 +3,18 @@
<context>
<name>FindDialog</name>
<message>
- <location filename="project.ui" line="27"/>
+ <location filename="project.ui" line="55"/>
<source>Qt Assistant - Find text</source>
<!--should be changed to unfinished, since we are changing the sourcetext in the ui file-->
<translation>Qt Assistant - Finn tekst</translation>
</message>
<message>
- <location filename="project.ui" line="30"/>
+ <location filename="project.ui" line="58"/>
<source>300px</source>
<translation>300px</translation>
</message>
<message>
- <location filename="project.ui" line="33"/>
+ <location filename="project.ui" line="61"/>
<source>400px</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tests/auto/linguist/lupdate/testdata/good/mergeui/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/mergeui/project.ts.result
index b21f583..a56a547 100644
--- a/tests/auto/linguist/lupdate/testdata/good/mergeui/project.ts.result
+++ b/tests/auto/linguist/lupdate/testdata/good/mergeui/project.ts.result
@@ -4,18 +4,18 @@
<context>
<name>FindDialog</name>
<message>
- <location filename="project.ui" line="27"/>
+ <location filename="project.ui" line="55"/>
<source>Qt Assistant - Find Text</source>
<oldsource>Qt Assistant - Find text</oldsource>
<translation type="unfinished">Qt Assistant - Finn tekst</translation>
</message>
<message>
- <location filename="project.ui" line="30"/>
+ <location filename="project.ui" line="58"/>
<source>300px</source>
<translation>300px</translation>
</message>
<message>
- <location filename="project.ui" line="33"/>
+ <location filename="project.ui" line="61"/>
<source>401 pixels</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tests/auto/linguist/lupdate/testdata/good/multiple_locations/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/multiple_locations/project.ts.result
index ec1f02f..a7ae155 100644
--- a/tests/auto/linguist/lupdate/testdata/good/multiple_locations/project.ts.result
+++ b/tests/auto/linguist/lupdate/testdata/good/multiple_locations/project.ts.result
@@ -4,9 +4,9 @@
<context>
<name>context</name>
<message>
- <location filename="finddialog.cpp" line="43"/>
- <location filename="finddialog.cpp" line="48"/>
- <location filename="main.cpp" line="47"/>
+ <location filename="finddialog.cpp" line="42"/>
+ <location filename="finddialog.cpp" line="47"/>
+ <location filename="main.cpp" line="46"/>
<source>just a message</source>
<extracomment>This is one comment
----------
diff --git a/tests/auto/linguist/lupdate/testdata/good/namespaces/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/namespaces/project.ts.result
index bb5b739..c1a34bd 100644
--- a/tests/auto/linguist/lupdate/testdata/good/namespaces/project.ts.result
+++ b/tests/auto/linguist/lupdate/testdata/good/namespaces/project.ts.result
@@ -30,7 +30,7 @@
<context>
<name>Outer::Middle1::Different</name>
<message>
- <location filename="main.cpp" line="106/>
+ <location filename="main.cpp" line="106"/>
<source>different namespaced class def</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tests/auto/linguist/lupdate/testdata/good/parseui/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/parseui/project.ts.result
index ddf58c3..b27d239 100644
--- a/tests/auto/linguist/lupdate/testdata/good/parseui/project.ts.result
+++ b/tests/auto/linguist/lupdate/testdata/good/parseui/project.ts.result
@@ -4,12 +4,12 @@
<context>
<name>FindDialog</name>
<message>
- <location filename="project.ui" line="27"/>
+ <location filename="project.ui" line="55"/>
<source>Qt Assistant - Finn text</source>
<translation type="unfinished"></translation>
</message>
<message utf8="true">
- <location filename="project.ui" line="30"/>
+ <location filename="project.ui" line="58"/>
<source>Finn tekst - Der Bjørn möchte auch mal.</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tests/auto/linguist/lupdate/testdata/good/prefix/project.ts.result b/tests/auto/linguist/lupdate/testdata/good/prefix/project.ts.result
index c15b986..e356921 100644
--- a/tests/auto/linguist/lupdate/testdata/good/prefix/project.ts.result
+++ b/tests/auto/linguist/lupdate/testdata/good/prefix/project.ts.result
@@ -4,18 +4,18 @@
<context>
<name>Foo</name>
<message>
- <location filename="main.cpp" line="46"/>
+ <location filename="main.cpp" line="45"/>
<source>XXX</source>
<comment>YYY</comment>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="main.cpp" line="51"/>
+ <location filename="main.cpp" line="50"/>
<source>CTOR</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="main.cpp" line="56"/>
+ <location filename="main.cpp" line="55"/>
<source>BAR</source>
<translation type="unfinished"></translation>
</message>
diff --git a/tests/auto/qwidget/tst_qwidget.cpp b/tests/auto/qwidget/tst_qwidget.cpp
index 8d7e5fe..fe863fb 100644
--- a/tests/auto/qwidget/tst_qwidget.cpp
+++ b/tests/auto/qwidget/tst_qwidget.cpp
@@ -342,6 +342,7 @@ private slots:
void maskedUpdate();
#if defined(Q_WS_WIN) || defined(Q_WS_X11)
void syntheticEnterLeave();
+ void taskQTBUG_4055_sendSyntheticEnterLeave();
#endif
void windowFlags();
void initialPosForDontShowOnScreenWidgets();
@@ -8851,6 +8852,87 @@ void tst_QWidget::syntheticEnterLeave()
QCOMPARE(window.numEnterEvents, 0);
QCOMPARE(child1->numEnterEvents, 1);
}
+
+void tst_QWidget::taskQTBUG_4055_sendSyntheticEnterLeave()
+{
+ class SELParent : public QWidget
+ {
+ public:
+ SELParent(QWidget *parent = 0): QWidget(parent) { }
+
+ void mousePressEvent(QMouseEvent *) { child->show(); }
+ QWidget *child;
+ };
+
+ class SELChild : public QWidget
+ {
+ public:
+ SELChild(QWidget *parent = 0) : QWidget(parent), numEnterEvents(0), numMouseMoveEvents(0) {}
+ void enterEvent(QEvent *) { ++numEnterEvents; }
+ void mouseMoveEvent(QMouseEvent *event)
+ {
+ QCOMPARE(event->button(), Qt::NoButton);
+ QCOMPARE(event->buttons(), Qt::MouseButtons(Qt::NoButton));
+ ++numMouseMoveEvents;
+ }
+ void reset() { numEnterEvents = numMouseMoveEvents = 0; }
+ int numEnterEvents, numMouseMoveEvents;
+ };
+
+ SELParent parent;
+ parent.resize(200, 200);
+ SELChild child(&parent);
+ child.resize(200, 200);
+ parent.show();
+ #ifdef Q_WS_X11
+ qt_x11_wait_for_window_manager(&parent);
+ #endif
+ QTest::qWait(100);
+
+ QCursor::setPos(child.mapToGlobal(QPoint(100, 100)));
+ QTest::qWait(100);
+ // Make sure the cursor has entered the child.
+ QVERIFY(child.numEnterEvents > 0);
+
+ child.hide();
+ child.reset();
+ child.show();
+
+ // Make sure the child gets enter event and no mouse move event.
+ QCOMPARE(child.numEnterEvents, 1);
+ QCOMPARE(child.numMouseMoveEvents, 0);
+
+ child.hide();
+ child.reset();
+ child.setMouseTracking(true);
+ child.show();
+
+ // Make sure the child gets enter event and mouse move event.
+ // Note that we verify event->button() and event->buttons()
+ // in SELChild::mouseMoveEvent().
+ QCOMPARE(child.numEnterEvents, 1);
+ QCOMPARE(child.numMouseMoveEvents, 1);
+
+ // Sending synthetic enter/leave trough the parent's mousePressEvent handler.
+ parent.child = &child;
+
+ child.hide();
+ child.reset();
+ QTest::mouseClick(&parent, Qt::LeftButton);
+
+ // Make sure the child gets enter event and one mouse move event.
+ QCOMPARE(child.numEnterEvents, 1);
+ QCOMPARE(child.numMouseMoveEvents, 1);
+
+ child.hide();
+ child.reset();
+ child.setMouseTracking(false);
+ QTest::mouseClick(&parent, Qt::LeftButton);
+
+ // Make sure the child gets enter event and no mouse move event.
+ QCOMPARE(child.numEnterEvents, 1);
+ QCOMPARE(child.numMouseMoveEvents, 0);
+ }
#endif
void tst_QWidget::windowFlags()
diff --git a/tools/linguist/shared/java.cpp b/tools/linguist/shared/java.cpp
index be34d20..109650c 100644
--- a/tools/linguist/shared/java.cpp
+++ b/tools/linguist/shared/java.cpp
@@ -634,7 +634,6 @@ bool loadJava(Translator &translator, QIODevice &dev, ConversionData &cd)
yyFileName = cd.m_sourceFileName;
yyCurLineNo = 1;
yyParenLineNo = 1;
- yyCh = getChar();
parse(&translator);