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

QUndoView selection is messed up

    XMLWordPrintable

Details

    Description

      The following snippet creates a QUndoStack with 3 undo commands and a QUndoView.

      If you build this example with Qt 5.4.1, clicking on 'command 3' causes only command 3 to be selected (correct).

      If you build this example with Qt 5.6.1, clicking on 'command 3' causes all items in the view to be selected (incorrect).

      Regression introduced in Qt 5.6.x or possibly Qt 5.5.x.

      See attached screenshots.

      #include <QtGui>
      #include <QtWidgets>
      
      struct Command : public QUndoCommand
      {
          Command(const QString &text) : QUndoCommand(text)
          {}
      
          void undo()
          {
              qDebug() << "undo " + text();
          }
      
          void redo()
          {
              qDebug() << "redo " + text();
          }
      };
      
      int main(int argc, char *argv[])
      {
          QApplication app(argc, argv);
      
          QUndoStack stack;
          stack.push(new Command("command 1"));
          stack.push(new Command("command 2"));
          stack.push(new Command("command 3"));
      
          QUndoView view(&stack);
          view.show();
      
          return app.exec();
      }
      

      Attachments

        1. qtbug55208.zip
          1 kB
          Friedemann Kleint
        2. QUndoView_Qt541.png
          12 kB
          Daniel
        3. QUndoView_Qt561.png
          12 kB
          Daniel

        Issue Links

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

          Activity

            People

              mmutz Marc Mutz
              danny77uk Daniel
              Votes:
              7 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes