> On April 22, 2016, 8:19 vorm., Christian David wrote:
> > Hi Mitch,
> > 
> > according to the [Qt 
> > Docu](http://doc.qt.io/qt-5/qmetatype.html#qRegisterMetaType-1) 
> > ```qRegisterMetaType``` is (only) needed under some circumstances:
> > 
> >     To use the type T in QVariant, using Q_DECLARE_METATYPE() is 
> > sufficient. To use the type T in queued signal and slot connections, 
> > qRegisterMetaType<T>() must be called before the first connection is 
> > established.
> >     
> > To prevent complicated issues if we use queued connections ourself in the 
> > future the ```qRegisterMetaType``` should go somewhere else. I think it 
> > should be ```mymoneymoney.cpp``` for ```MyMoneyMoney``` but I am unsure 
> > here.
> 
> Mitch Frazier wrote:
>     In terms of logically where it ought to go I don't know, I'm not that 
> familiar with the organization of the code base.  However, in terms of 
> satisfying the requirement that it "must be called before the first 
> connection is established," making it a static variable initializer should be 
> sufficient regardless of where it is placed.  Static initializers are run 
> when the .so is loaded so they'll be executed before any "real" code gets run.
> 
> Christian David wrote:
>     In your case they are loaded in another (kind of unrelated) library than 
> the library of the original objects. This violates the concept of enclosed 
> units. To be specific; the ```qRegisterMetaType()``` call should be in the 
> ```kmm_mymoney``` library. To suppress the warnings only they could go in the 
> ```kmymoneywidgets``` library (but not ```kmm_widgets```). Your static 
> initializer trick is cool.

Ping: Christian / Mitch what is the status on this one? Did you come to a 
conclusion what to do with the patch?


- Thomas


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/127678/#review94753
-----------------------------------------------------------


On April 22, 2016, 5:01 nachm., Mitch Frazier wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/127678/
> -----------------------------------------------------------
> 
> (Updated April 22, 2016, 5:01 nachm.)
> 
> 
> Review request for KMymoney.
> 
> 
> Repository: kmymoney
> 
> 
> Description
> -------
> 
> Register metatypes to eliminate Qt Desinger warnings.
>     
> Registering metatypes for a type used in a widget eliminates
> the following types of warnings from Qt Designer on start up
> (displayed when designer is started from a console window):
>     
> QMetaProperty::read: Unable to handle unregistered datatype
>   '<class>' for property '<class>::<member>'
> 
> 
> Diffs
> -----
> 
>   kmymoney/widgets/kmymoneycurrencyselector.cpp 41be539 
>   kmymoney/widgets/kmymoneyedit.cpp ac79db7 
> 
> Diff: https://git.reviewboard.kde.org/r/127678/diff/
> 
> 
> Testing
> -------
> 
> Tested dialogs that use the data types.
> 
> 
> Thanks,
> 
> Mitch Frazier
> 
>

Reply via email to