Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-7451

Gesture event delivery does not respect isPanel() in QGraphicsScene

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: P1: Critical P1: Critical
    • 4.6.3
    • 4.6.0, 4.6.1
    • Widgets: GraphicsView
    • None
    • 43233652e753ffa2b97a8b6d56ae53bb02cbad6b

      When delivering gesture events in graphics scene, the delivery does not stop at the first item that is a panel.

      Fix proposal (that does not account for attribute change during the actual event sending loop, because only items that grab gestures is available at that time)

      void QGraphicsScenePrivate::getGestureTargets:
      
               for (int j = 0; j < items.size(); ++j) {
                   QGraphicsObject *item = items.at(j)->toGraphicsObject();
                   if (item) {
                        QGraphicsItemPrivate *d = item->QGraphicsItem::d_func();
                        if (d->gestureContext.contains(gestureType)) {
                            result.append(item);
                        }
                   }
                   if(items.at(j)->isPanel())
                         break;
               }
      

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            dzyubenk Denis Dzyubenko (Inactive)
            mikkohar Mikko Harju
            Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes