Daniel d'Andrada has proposed merging 
lp:~dandrader/kubuntu-packaging/qtdeclarative-opensource-src into 
lp:~kubuntu-packagers/kubuntu-packaging/qtdeclarative-opensource-src.

Commit message:
Use original fix_qtbug_32004.patch (for Qt 5.3) and not its Qt 5.0.2 version

+ update symbols file

Requested reviews:
  Kubuntu Packagers (kubuntu-packagers)

For more details, see:
https://code.launchpad.net/~dandrader/kubuntu-packaging/qtdeclarative-opensource-src/+merge/195790

Use original fix_qtbug_32004.patch (for Qt 5.3) and not its Qt 5.0.2 version

+ update symbols file
-- 
https://code.launchpad.net/~dandrader/kubuntu-packaging/qtdeclarative-opensource-src/+merge/195790
Your team Kubuntu Packagers is requested to review the proposed merge of 
lp:~dandrader/kubuntu-packaging/qtdeclarative-opensource-src into 
lp:~kubuntu-packagers/kubuntu-packaging/qtdeclarative-opensource-src.
=== modified file 'debian/libqt5quick5.symbols'
--- debian/libqt5quick5.symbols	2013-11-13 14:24:49 +0000
+++ debian/libqt5quick5.symbols	2013-11-19 14:27:34 +0000
@@ -1050,6 +1050,7 @@
  _ZN15QSGPlainTextureD0Ev@Base 5.0.2 1
  _ZN15QSGPlainTextureD1Ev@Base 5.0.2 1
  _ZN15QSGPlainTextureD2Ev@Base 5.0.2 1
+ _ZN16QCoreApplication9sendEventEP7QObjectP6QEvent@Base 5.2.0 1
  _ZN16QQuickCloseEvent11qt_metacallEN11QMetaObject4CallEiPPv@Base 5.1.0 1
  _ZN16QQuickCloseEvent11qt_metacastEPKc@Base 5.1.0 1
  _ZN16QQuickCloseEvent16staticMetaObjectE@Base 5.1.0 1
@@ -1200,16 +1201,10 @@
  _ZN17QQuickItemPrivate15transform_clearEP16QQmlListPropertyI15QQuickTransformE@Base 5.0.2 1
  _ZN17QQuickItemPrivate15transform_countEP16QQmlListPropertyI15QQuickTransformE@Base 5.0.2 1
  _ZN17QQuickItemPrivate15visibleChildrenEv@Base 5.0.2 1
- _ZN17QQuickItemPrivate16deliverDragEventEP6QEvent@Base 5.0.2 1
  _ZN17QQuickItemPrivate16resources_appendEP16QQmlListPropertyI7QObjectEPS1_@Base 5.0.2 1
  _ZN17QQuickItemPrivate16transformChangedEv@Base 5.0.2 1
  _ZN17QQuickItemPrivate16transform_appendEP16QQmlListPropertyI15QQuickTransformEPS1_@Base 5.0.2 1
  _ZN17QQuickItemPrivate17canAcceptTabFocusEP10QQuickItem@Base 5.1.0 1
- _ZN17QQuickItemPrivate17deliverFocusEventEP11QFocusEvent@Base 5.0.2 1
- _ZN17QQuickItemPrivate17deliverHoverEventEP11QHoverEvent@Base 5.0.2 1
- _ZN17QQuickItemPrivate17deliverMouseEventEP11QMouseEvent@Base 5.0.2 1
- _ZN17QQuickItemPrivate17deliverTouchEventEP11QTouchEvent@Base 5.0.2 1
- _ZN17QQuickItemPrivate17deliverWheelEventEP11QWheelEvent@Base 5.0.2 1
  _ZN17QQuickItemPrivate17refFromEffectItemEb@Base 5.0.2 1
  _ZN17QQuickItemPrivate17setConsistentTimeEx@Base 5.0.2 1
  _ZN17QQuickItemPrivate18qt_tab_all_widgetsEv@Base 5.1.0 1

=== modified file 'debian/patches/fix_qtbug_32004.patch'
--- debian/patches/fix_qtbug_32004.patch	2013-11-19 12:28:06 +0000
+++ debian/patches/fix_qtbug_32004.patch	2013-11-19 14:27:34 +0000
@@ -10,470 +10,6 @@
     Task-number: QTBUG-32004
     Change-Id: Ib6972e7f5e588bee986ae5f2d69aa6fccb58af95
 
-Index: trunk/src/quick/items/qquickitem.cpp
-===================================================================
---- trunk.orig/src/quick/items/qquickitem.cpp	2013-11-19 09:36:35.741906100 -0200
-+++ trunk/src/quick/items/qquickitem.cpp	2013-11-19 09:36:35.737906100 -0200
-@@ -4160,96 +4160,6 @@
- }
- #endif // QT_NO_IM
- 
--void QQuickItemPrivate::deliverFocusEvent(QFocusEvent *e)
--{
--    Q_Q(QQuickItem);
--
--    if (e->type() == QEvent::FocusIn) {
--        q->focusInEvent(e);
--    } else {
--        q->focusOutEvent(e);
--    }
--}
--
--void QQuickItemPrivate::deliverMouseEvent(QMouseEvent *e)
--{
--    Q_Q(QQuickItem);
--
--    Q_ASSERT(e->isAccepted());
--
--    switch (e->type()) {
--    default:
--        Q_ASSERT(!"Unknown event type");
--    case QEvent::MouseMove:
--        q->mouseMoveEvent(e);
--        break;
--    case QEvent::MouseButtonPress:
--        q->mousePressEvent(e);
--        break;
--    case QEvent::MouseButtonRelease:
--        q->mouseReleaseEvent(e);
--        break;
--    case QEvent::MouseButtonDblClick:
--        q->mouseDoubleClickEvent(e);
--        break;
--    }
--}
--
--#ifndef QT_NO_WHEELEVENT
--void QQuickItemPrivate::deliverWheelEvent(QWheelEvent *e)
--{
--    Q_Q(QQuickItem);
--    q->wheelEvent(e);
--}
--#endif
--
--void QQuickItemPrivate::deliverTouchEvent(QTouchEvent *e)
--{
--    Q_Q(QQuickItem);
--    q->touchEvent(e);
--}
--
--void QQuickItemPrivate::deliverHoverEvent(QHoverEvent *e)
--{
--    Q_Q(QQuickItem);
--    switch (e->type()) {
--    default:
--        Q_ASSERT(!"Unknown event type");
--    case QEvent::HoverEnter:
--        q->hoverEnterEvent(e);
--        break;
--    case QEvent::HoverLeave:
--        q->hoverLeaveEvent(e);
--        break;
--    case QEvent::HoverMove:
--        q->hoverMoveEvent(e);
--        break;
--    }
--}
--
--#ifndef QT_NO_DRAGANDDROP
--void QQuickItemPrivate::deliverDragEvent(QEvent *e)
--{
--    Q_Q(QQuickItem);
--    switch (e->type()) {
--    default:
--        Q_ASSERT(!"Unknown event type");
--    case QEvent::DragEnter:
--        q->dragEnterEvent(static_cast<QDragEnterEvent *>(e));
--        break;
--    case QEvent::DragLeave:
--        q->dragLeaveEvent(static_cast<QDragLeaveEvent *>(e));
--        break;
--    case QEvent::DragMove:
--        q->dragMoveEvent(static_cast<QDragMoveEvent *>(e));
--        break;
--    case QEvent::Drop:
--        q->dropEvent(static_cast<QDropEvent *>(e));
--        break;
--    }
--}
--#endif // QT_NO_DRAGANDDROP
--
- /*!
-     Called when \a change occurs for this item.
- 
-@@ -6612,18 +6522,17 @@
-   */
- bool QQuickItem::event(QEvent *ev)
- {
-+    Q_D(QQuickItem);
-+
-+    switch (ev->type()) {
- #if 0
--    if (ev->type() == QEvent::PolishRequest) {
--        Q_D(QQuickItem);
-+    case QEvent::PolishRequest:
-         d->polishScheduled = false;
-         updatePolish();
--        return true;
--    } else {
--        return QObject::event(ev);
--    }
-+        break;
- #endif
- #ifndef QT_NO_IM
--    if (ev->type() == QEvent::InputMethodQuery) {
-+    case QEvent::InputMethodQuery: {
-         QInputMethodQueryEvent *query = static_cast<QInputMethodQueryEvent *>(ev);
-         Qt::InputMethodQueries queries = query->queries();
-         for (uint i = 0; i < 32; ++i) {
-@@ -6634,17 +6543,76 @@
-             }
-         }
-         query->accept();
--        return true;
--    } else if (ev->type() == QEvent::InputMethod) {
-+        break;
-+    }
-+    case QEvent::InputMethod:
-         inputMethodEvent(static_cast<QInputMethodEvent *>(ev));
--        return true;
--    } else
-+        break;
- #endif // QT_NO_IM
--    if (ev->type() == QEvent::StyleAnimationUpdate) {
-+    case QEvent::TouchBegin:
-+    case QEvent::TouchUpdate:
-+    case QEvent::TouchEnd:
-+    case QEvent::TouchCancel:
-+        touchEvent(static_cast<QTouchEvent*>(ev));
-+        break;
-+    case QEvent::StyleAnimationUpdate:
-         update();
--        return true;
-+        break;
-+    case QEvent::HoverEnter:
-+        hoverEnterEvent(static_cast<QHoverEvent*>(ev));
-+        break;
-+    case QEvent::HoverLeave:
-+        hoverLeaveEvent(static_cast<QHoverEvent*>(ev));
-+        break;
-+    case QEvent::HoverMove:
-+        hoverMoveEvent(static_cast<QHoverEvent*>(ev));
-+        break;
-+    case QEvent::KeyPress:
-+    case QEvent::KeyRelease:
-+        d->deliverKeyEvent(static_cast<QKeyEvent*>(ev));
-+        break;
-+    case QEvent::FocusIn:
-+        focusInEvent(static_cast<QFocusEvent*>(ev));
-+        break;
-+    case QEvent::FocusOut:
-+        focusOutEvent(static_cast<QFocusEvent*>(ev));
-+        break;
-+    case QEvent::MouseMove:
-+        mouseMoveEvent(static_cast<QMouseEvent*>(ev));
-+        break;
-+    case QEvent::MouseButtonPress:
-+        mousePressEvent(static_cast<QMouseEvent*>(ev));
-+        break;
-+    case QEvent::MouseButtonRelease:
-+        mouseReleaseEvent(static_cast<QMouseEvent*>(ev));
-+        break;
-+    case QEvent::MouseButtonDblClick:
-+        mouseDoubleClickEvent(static_cast<QMouseEvent*>(ev));
-+        break;
-+#ifndef QT_NO_WHEELEVENT
-+    case QEvent::Wheel:
-+        wheelEvent(static_cast<QWheelEvent*>(ev));
-+        break;
-+#endif
-+#ifndef QT_NO_DRAGANDDROP
-+    case QEvent::DragEnter:
-+        dragEnterEvent(static_cast<QDragEnterEvent*>(ev));
-+        break;
-+    case QEvent::DragLeave:
-+        dragLeaveEvent(static_cast<QDragLeaveEvent*>(ev));
-+        break;
-+    case QEvent::DragMove:
-+        dragMoveEvent(static_cast<QDragMoveEvent*>(ev));
-+        break;
-+    case QEvent::Drop:
-+        dropEvent(static_cast<QDropEvent*>(ev));
-+        break;
-+#endif // QT_NO_DRAGANDDROP
-+    default:
-+        return QObject::event(ev);
-     }
--    return QObject::event(ev);
-+
-+    return true;
- }
- 
- #ifndef QT_NO_DEBUG_STREAM
-Index: trunk/src/quick/items/qquickitem_p.h
-===================================================================
---- trunk.orig/src/quick/items/qquickitem_p.h	2013-11-19 09:36:35.741906100 -0200
-+++ trunk/src/quick/items/qquickitem_p.h	2013-11-19 09:36:35.737906100 -0200
-@@ -526,16 +526,6 @@
- #ifndef QT_NO_IM
-     void deliverInputMethodEvent(QInputMethodEvent *);
- #endif
--    void deliverFocusEvent(QFocusEvent *);
--    void deliverMouseEvent(QMouseEvent *);
--#ifndef QT_NO_WHEELEVENT
--    void deliverWheelEvent(QWheelEvent *);
--#endif
--    void deliverTouchEvent(QTouchEvent *);
--    void deliverHoverEvent(QHoverEvent *);
--#ifndef QT_NO_DRAGANDDROP
--    void deliverDragEvent(QEvent *);
--#endif
- 
-     bool calcEffectiveVisible() const;
-     bool setEffectiveVisibleRecur(bool);
-Index: trunk/src/quick/items/qquickwindow.cpp
-===================================================================
---- trunk.orig/src/quick/items/qquickwindow.cpp	2013-11-19 09:36:35.741906100 -0200
-+++ trunk/src/quick/items/qquickwindow.cpp	2013-11-19 09:36:35.737906100 -0200
-@@ -1656,11 +1656,11 @@
-         itemForTouchPointId[id] = item;
- 
-     // Deliver the touch event to the given item
--    QQuickItemPrivate *itemPrivate = QQuickItemPrivate::get(item);
--    itemPrivate->deliverTouchEvent(touchEvent.data());
-+    QCoreApplication::sendEvent(item, touchEvent.data());
-     touchEventAccepted = touchEvent->isAccepted();
- 
-     // If the touch event wasn't accepted, synthesize a mouse event and see if the item wants it.
-+    QQuickItemPrivate *itemPrivate = QQuickItemPrivate::get(item);
-     if (!touchEventAccepted && (itemPrivate->acceptedMouseButtons() & Qt::LeftButton)) {
-         //  send mouse event
-         event->setAccepted(translateTouchToMouse(item, event));
-@@ -2026,16 +2026,12 @@
-     case QEvent::KeyPress:
-     case QEvent::KeyRelease:
-         e->accept();
--        QQuickItemPrivate::get(item)->deliverKeyEvent(static_cast<QKeyEvent *>(e));
-+        QCoreApplication::sendEvent(item, e);
-         while (!e->isAccepted() && (item = item->parentItem())) {
-             e->accept();
--            QQuickItemPrivate::get(item)->deliverKeyEvent(static_cast<QKeyEvent *>(e));
-+            QCoreApplication::sendEvent(item, e);
-         }
-         break;
--    case QEvent::FocusIn:
--    case QEvent::FocusOut:
--        QQuickItemPrivate::get(item)->deliverFocusEvent(static_cast<QFocusEvent *>(e));
--        break;
-     case QEvent::MouseButtonPress:
-     case QEvent::MouseButtonRelease:
-     case QEvent::MouseButtonDblClick:
-@@ -2044,7 +2040,7 @@
-         if (!d->sendFilteredMouseEvent(item->parentItem(), item, e)) {
-             // accept because qml items by default accept and have to explicitly opt out of accepting
-             e->accept();
--            QQuickItemPrivate::get(item)->deliverMouseEvent(static_cast<QMouseEvent *>(e));
-+            QCoreApplication::sendEvent(item, e);
-         }
-         break;
-     case QEvent::UngrabMouse:
-@@ -2055,30 +2051,26 @@
-         break;
- #ifndef QT_NO_WHEELEVENT
-     case QEvent::Wheel:
--        QQuickItemPrivate::get(item)->deliverWheelEvent(static_cast<QWheelEvent *>(e));
--        break;
- #endif
-+#ifndef QT_NO_DRAGANDDROP
-+    case QEvent::DragEnter:
-+    case QEvent::DragMove:
-+    case QEvent::DragLeave:
-+    case QEvent::Drop:
-+#endif
-+    case QEvent::FocusIn:
-+    case QEvent::FocusOut:
-     case QEvent::HoverEnter:
-     case QEvent::HoverLeave:
-     case QEvent::HoverMove:
--        QQuickItemPrivate::get(item)->deliverHoverEvent(static_cast<QHoverEvent *>(e));
-+    case QEvent::TouchCancel:
-+        QCoreApplication::sendEvent(item, e);
-         break;
-     case QEvent::TouchBegin:
-     case QEvent::TouchUpdate:
-     case QEvent::TouchEnd:
-         d->sendFilteredTouchEvent(item->parentItem(), item, static_cast<QTouchEvent *>(e));
-         break;
--    case QEvent::TouchCancel:
--        QQuickItemPrivate::get(item)->deliverTouchEvent(static_cast<QTouchEvent *>(e));
--        break;
--#ifndef QT_NO_DRAGANDDROP
--    case QEvent::DragEnter:
--    case QEvent::DragMove:
--    case QEvent::DragLeave:
--    case QEvent::Drop:
--        QQuickItemPrivate::get(item)->deliverDragEvent(e);
--        break;
--#endif
-     default:
-         break;
-     }
-Index: trunk/tests/auto/quick/qquickwindow/tst_qquickwindow.cpp
-===================================================================
---- trunk.orig/tests/auto/quick/qquickwindow/tst_qquickwindow.cpp	2013-11-19 09:36:35.741906100 -0200
-+++ trunk/tests/auto/quick/qquickwindow/tst_qquickwindow.cpp	2013-11-19 09:36:35.737906100 -0200
-@@ -249,6 +249,18 @@
- int TestTouchItem::mouseMoveNum = 0;
- int TestTouchItem::mouseReleaseNum = 0;
- 
-+class EventFilter : public QObject
-+{
-+public:
-+    bool eventFilter(QObject *watched, QEvent *event) {
-+        Q_UNUSED(watched);
-+        events.append(event->type());
-+        return false;
-+    }
-+
-+    QList<int> events;
-+};
-+
- class ConstantUpdateItem : public QQuickItem
- {
- Q_OBJECT
-@@ -312,6 +324,10 @@
- 
-     void ownershipRootItem();
- 
-+    void qobjectEventFilter_touch();
-+    void qobjectEventFilter_key();
-+    void qobjectEventFilter_mouse();
-+
- #ifndef QT_NO_CURSOR
-     void cursor();
- #endif
-@@ -836,6 +852,9 @@
-     QTRY_COMPARE(middleItem->mousePressId, 1);
-     QTRY_COMPARE(bottomItem->mousePressId, 2);
-     QTRY_COMPARE(topItem->mousePressId, 3);
-+
-+    // clean up mouse press state for the next tests
-+    QTest::mouseRelease(window, Qt::LeftButton, 0, pos);
- }
- 
- void tst_qquickwindow::qmlCreation()
-@@ -1207,6 +1226,84 @@
- }
- #endif
- 
-+// QTBUG-32004
-+void tst_qquickwindow::qobjectEventFilter_touch()
-+{
-+    QQuickWindow window;
-+
-+    window.resize(250, 250);
-+    window.setPosition(100, 100);
-+    window.show();
-+    QVERIFY(QTest::qWaitForWindowExposed(&window));
-+
-+    TestTouchItem *item = new TestTouchItem(window.contentItem());
-+    item->setSize(QSizeF(150, 150));
-+
-+    EventFilter eventFilter;
-+    item->installEventFilter(&eventFilter);
-+
-+    QPointF pos(10, 10);
-+
-+    // press single point
-+    QTest::touchEvent(&window, touchDevice).press(0, item->mapToScene(pos).toPoint(), &window);
-+
-+    QCOMPARE(eventFilter.events.count(), 1);
-+    QCOMPARE(eventFilter.events.first(), (int)QEvent::TouchBegin);
-+}
-+
-+// QTBUG-32004
-+void tst_qquickwindow::qobjectEventFilter_key()
-+{
-+    QQuickWindow window;
-+
-+    window.resize(250, 250);
-+    window.setPosition(100, 100);
-+    window.show();
-+    QVERIFY(QTest::qWaitForWindowExposed(&window));
-+
-+    TestTouchItem *item = new TestTouchItem(window.contentItem());
-+    item->setSize(QSizeF(150, 150));
-+    item->setFocus(true);
-+
-+    EventFilter eventFilter;
-+    item->installEventFilter(&eventFilter);
-+
-+    QTest::keyPress(&window, Qt::Key_A);
-+
-+    // NB: It may also receive some QKeyEvent(ShortcutOverride) which we're not interested in
-+    QVERIFY(eventFilter.events.contains((int)QEvent::KeyPress));
-+    eventFilter.events.clear();
-+
-+    QTest::keyRelease(&window, Qt::Key_A);
-+
-+    QVERIFY(eventFilter.events.contains((int)QEvent::KeyRelease));
-+}
-+
-+// QTBUG-32004
-+void tst_qquickwindow::qobjectEventFilter_mouse()
-+{
-+    QQuickWindow window;
-+
-+    window.resize(250, 250);
-+    window.setPosition(100, 100);
-+    window.show();
-+    QVERIFY(QTest::qWaitForWindowExposed(&window));
-+
-+    TestTouchItem *item = new TestTouchItem(window.contentItem());
-+    item->setSize(QSizeF(150, 150));
-+
-+    EventFilter eventFilter;
-+    item->installEventFilter(&eventFilter);
-+
-+    QPoint point = item->mapToScene(QPointF(10, 10)).toPoint();
-+    QTest::mousePress(&window, Qt::LeftButton, Qt::NoModifier, point);
-+
-+    QVERIFY(eventFilter.events.contains((int)QEvent::MouseButtonPress));
-+
-+    // clean up mouse press state for the next tests
-+    QTest::mouseRelease(&window, Qt::LeftButton, Qt::NoModifier, point);
-+}
-+
- QTEST_MAIN(tst_qquickwindow)
- 
- #include "tst_qquickwindow.moc"
-From db48c32d3328018b0857f9b60aae7c1f3627c896 Mon Sep 17 00:00:00 2001
-From: Daniel d'Andrada <[email protected]>
-Date: Tue, 12 Nov 2013 11:47:32 -0200
-Subject: [PATCH] Fix delivery of QEvents to QQuickItems
-
-Make them go through QObject::event() and comply to filtering
-from objects passsed to QObject::installEventFilter()
-
-Task-number: QTBUG-32004
-Change-Id: Ib6972e7f5e588bee986ae5f2d69aa6fccb58af95
----
- src/quick/items/qquickitem.cpp                     | 176 +++++++++------------
- src/quick/items/qquickitem_p.h                     |  10 --
- src/quick/items/qquickwindow.cpp                   |  46 +++---
- tests/auto/quick/qquickwindow/tst_qquickwindow.cpp |  97 ++++++++++++
- 4 files changed, 188 insertions(+), 141 deletions(-)
-
 diff --git a/src/quick/items/qquickitem.cpp b/src/quick/items/qquickitem.cpp
 index c3b221b..fb3e849 100644
 --- a/src/quick/items/qquickitem.cpp
@@ -957,6 +493,3 @@
  QTEST_MAIN(tst_qquickwindow)
  
  #include "tst_qquickwindow.moc"
--- 
-1.8.4.3
-

-- 
kubuntu-devel mailing list
[email protected]
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/kubuntu-devel

Reply via email to