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

Slots are not called if signal is emitted from different thread and the signal/slot argument is user-defined class/struct

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Not Evaluated
    • Resolution: Invalid
    • Affects Version/s: 4.6.2
    • Fix Version/s: None
    • Component/s: Core: Threads
    • Labels:
      None

      Description

      When user defines some class/struct that wants to be used as signal/slot parameter
      lets say
      class MyStruct
      {
      public:
      QString mMember;
      };

      then if it is passed between slot and signals from two differen threads, then the slot function will not called

      In attachment sample code that reproduces the issue

      slot
      void MyWidget::someStructSlot( const SomeStruct & )
      {
      cout << "received someStructSlot" << endl;
      }

      will never be called,

      The issue does not occur when slot/signal are from the same thread

        Attachments

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

          Activity

            People

            Assignee:
            goffart Olivier Goffart (closed Nokia identity) (Inactive)
            Reporter:
            grzechu81 Grzegorz Wolszczak
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Gerrit Reviews

                There are no open Gerrit changes