Latest iOS release

Thiago Macieira thiago at macieira.org
Sun May 1 20:14:33 PDT 2016


On domingo, 1 de maio de 2016 07:33:32 PDT Dirk Hohndel wrote:
> Oh I'm so tired of this Qt bug. Thiago, we really need to get this addressed
> in Qt. It's ridiculous that we keep running into this, keep trying to work
> around it, and randomly trigger it again. And right now building the mobile
> version on the desktop doesn't appear to trigger it, at least not for me. I
> don't see it on Android, either. It's only on iOS :-(
> 
[cut]
> etc until stack is overflowing. :-(
> 
> As you can see it alternates in setImpicitSize between 319x387 and 329x405 -
> I can see ~1400 layers of stack with this same sequence, all for the same
> object. I'm ready to just hack my own Qt that prevents such
> flip-flopping...

That means the layout is unstable. When asked for what its preferred size is 
on qquicklinearlayout.cpp:414
    const QSizeF pref = sizeHint(Qt::PreferredSize);
the answer does not stabilise.

I have absolutely no idea how the layout engine works. The only hint I have is 
to check whether the constraints (the anchors) in whatever page is causing 
this issue make sense.

> Unfortunately I haven't figured out how to get to the innards of this "this"
> pointer:
> 
> (QQmlPrivate::QQmlElement<QQuickGridLayout> *) $0 = 0x0000000132122370
> (lldb) p *this
> (QQuickItem) $1 = {
>   QObject = {
>     d_ptr = {
>       d = 0x00000001329b8f80
>     }
>   }
>   QQmlParserStatus = {
>     d = 0x0000000000000000
>   }
> }

Try this:
p *(QQuickItemPrivate *)d_ptr.d

> Any idea how to get more information here? Or should I just hardcode a loop
> detection?
> 

-- 
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
   Software Architect - Intel Open Source Technology Center



More information about the subsurface mailing list