Bug 356625 - QQuickWidget goes black when docking
Summary: QQuickWidget goes black when docking
Status: RESOLVED FIXED
Alias: None
Product: Breeze
Classification: Plasma
Component: QStyle (other bugs)
Version First Reported In: 5.4.3
Platform: openSUSE Linux
: NOR normal
Target Milestone: ---
Assignee: Hugo Pereira Da Costa
URL: https://gfycat.com/DeliriousRealBluea...
Keywords:
Depends on:
Blocks:
 
Reported: 2015-12-13 21:01 UTC by Fabian Vogt
Modified: 2015-12-14 19:24 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments
Testcase (889 bytes, application/gzip)
2015-12-13 21:02 UTC, Fabian Vogt
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Fabian Vogt 2015-12-13 21:01:26 UTC
The attached Qt project opens a mainwindow with a QDockWidget,
which has a QQuickWidget as its content. test.qml is a 100x100px large red rectangle.
When docking the floating dock, the QQuickWidget becoms unusuable.

(Using severity crash here as the widget "hangs" forever in this unusuable state)

Reproducible: Always

Steps to Reproduce:
1. Compile and run BreezeBug (no shadow build, using relative path to test.qml)
2. Undock the dock by clicking on the button
3. Dock the dock again

Actual Results:  
The widget goes black.

Expected Results:  
It stays red.

Works with all other Qt styles I tested (Fusion, GTK, Windows).
Comment 1 Fabian Vogt 2015-12-13 21:02:07 UTC
Created attachment 96048 [details]
Testcase
Comment 2 Hugo Pereira Da Costa 2015-12-14 08:25:53 UTC
Thanks for reporting and posting the test file. I can reproduce and am investigating.
Comment 3 Hugo Pereira Da Costa 2015-12-14 08:34:16 UTC
Note to self: this is related to shadowHelper. No clue how.
Comment 4 Hugo Pereira Da Costa 2015-12-14 19:11:39 UTC
Git commit a513f4e0c41e402d69af821f9923c9cb665f804f by Hugo Pereira Da Costa.
Committed on 14/12/2015 at 19:11.
Pushed by hpereiradacosta into branch 'master'.

Cleanup shadowhelper's widget registration logic.
Fixed test condition on whether shadow should be installed or not.

M  +7    -10   kstyle/breezeshadowhelper.cpp

http://commits.kde.org/breeze/a513f4e0c41e402d69af821f9923c9cb665f804f
Comment 5 Hugo Pereira Da Costa 2015-12-14 19:12:34 UTC
commit from comment #4 fixes it here (and makes sense)
Feel free to re-open if this is not the case for you.

Best regards,

Hugo
Comment 6 Hugo Pereira Da Costa 2015-12-14 19:12:50 UTC
PS: I'll backport to oxygen, which has the same issue.
Comment 7 Hugo Pereira Da Costa 2015-12-14 19:14:51 UTC
Git commit e78f76fbcb512f682f6261870996aad36273a1a0 by Hugo Pereira Da Costa.
Committed on 14/12/2015 at 19:14.
Pushed by hpereiradacosta into branch 'Plasma/5.5'.

Cleanup shadowhelper's widget registration logic.
Fixed test condition on whether shadow should be installed or not.

M  +7    -10   kstyle/breezeshadowhelper.cpp

http://commits.kde.org/breeze/e78f76fbcb512f682f6261870996aad36273a1a0
Comment 8 Hugo Pereira Da Costa 2015-12-14 19:24:04 UTC
Git commit 0fc37dcb5ba7b5dbbadfd9416ffc44d48a9b5e4b by Hugo Pereira Da Costa.
Committed on 14/12/2015 at 19:23.
Pushed by hpereiradacosta into branch 'Plasma/5.5'.

Cleanup shadowhelper's widget registration logic.
Fixed test condition on whether shadow should be installed or not.

M  +7    -10   kstyle/oxygenshadowhelper.cpp

http://commits.kde.org/oxygen/0fc37dcb5ba7b5dbbadfd9416ffc44d48a9b5e4b
Comment 9 Hugo Pereira Da Costa 2015-12-14 19:24:05 UTC
Git commit bd68524bdb231a5bbaba1f2037cfd4205525448c by Hugo Pereira Da Costa.
Committed on 14/12/2015 at 19:23.
Pushed by hpereiradacosta into branch 'master'.

Cleanup shadowhelper's widget registration logic.
Fixed test condition on whether shadow should be installed or not.

M  +7    -10   kstyle/oxygenshadowhelper.cpp

http://commits.kde.org/oxygen/bd68524bdb231a5bbaba1f2037cfd4205525448c