On Tuesday 06 October 2015 19:43:03 Igor Mironchik wrote:
> Hi guys,
> 
> Is it safe to use QString argument in queued slot when signal emitted
> from another thread?
> 
> void mySignal( QString arg );
> void mySlot( QString arg );

Yes. All arguments passed by value or by const-ref are copied into the event 
that gets posted to the other thread.

And QString, like other Qt value classes, should be treated like an int. 
You're not asking that question about an int argument, so you shouldn't have 
to ask about a QString argument.

> The same question if argument will be const QString & and argument to
> signal passed as temporary object, like this:
> 
> void mySignal( const QString & arg );
> 
> emit mySignal( QLatin1String( "Hello!!!" ) ); // emitted from another
> thread, different from GUI thread...
> 
> void mySlot( const QString & arg ); // Live in GUI thread...

As explained above.

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center

_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to