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

When showing a dialog at drop time, the DnD drop transaction expires and no data is available

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P2: Important
    • 5.0.0 Beta 1
    • 4.7.0
    • GUI: Drag and Drop
    • None
    • Linux, X11, x86_64.
    • d70cb669324be5ec94fdf7d5620e28b55295c295

    Description

      If the dropEvent() shows a modal dialog box, and the user takes more than 5 seconds to answer, the transaction_expiry_timer from qdnd_x11.cpp fires, and the transaction is deleted. So when the user says OK in the dialog box, there is no more data available.

      The actual use case for this is "drag the image from ksnapshot, drop it in konqueror-file-manager, it asks for a filename and for which format to save in", not a stupid qmessagebox like in the testcase

      Steps to reproduce: compile the attached testcase, fix the image filename to point an existing image, run the application twice, dnd between the two windows. If you answer the question quick it works, if you wait 5 seconds to answer the question, the dnd provides no data (and the program asserts).

      Can someone tell me what is the actual usefulness of the transaction_expiry_timer? If it's necessary for memory cleanup, then it sounds like it should either be made much much longer (like 1 hour), or it shouldn't be started until the dnd operation is really finished? I don't know the XDND protocol though.

      Attachments

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

        Activity

          People

            paeglis Gatis Paeglis
            dfaure David Faure (Private)
            Votes:
            1 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes