Fix flickering in the project pane.
This isn't a nice fix but the least evil version of a hack i could come up. The source of the flickering is: We have a deeply nested structure of widgets on the project pane. If we call hide() on such a deeply nested widget, it will activate() it's parent layout synchronously. That will then post an event (via updateGeometries() ) to its parent layout that it needs relayouting. Which then will post to its parent layout the same. And for each LayoutRequested, there's a painting in between. The fix instead calls activate() up the chain until we are at the viewport. This immediately relayouts everything. This adds a non obvoius potentially for breakeage if the widgets are embedded in a different widget hierarchy. But well, that's life.
Showing
- src/plugins/projectexplorer/buildstep.cpp 8 additions, 0 deletionssrc/plugins/projectexplorer/buildstep.cpp
- src/plugins/projectexplorer/buildstep.h 3 additions, 0 deletionssrc/plugins/projectexplorer/buildstep.h
- src/plugins/projectexplorer/buildstepspage.cpp 7 additions, 3 deletionssrc/plugins/projectexplorer/buildstepspage.cpp
- src/plugins/projectexplorer/environmenteditmodel.cpp 16 additions, 0 deletionssrc/plugins/projectexplorer/environmenteditmodel.cpp
- src/plugins/projectexplorer/environmenteditmodel.h 6 additions, 0 deletionssrc/plugins/projectexplorer/environmenteditmodel.h
- src/plugins/projectexplorer/projectwindow.cpp 2 additions, 1 deletionsrc/plugins/projectexplorer/projectwindow.cpp
- src/plugins/qt4projectmanager/qt4buildenvironmentwidget.cpp 8 additions, 0 deletionssrc/plugins/qt4projectmanager/qt4buildenvironmentwidget.cpp
- src/plugins/qt4projectmanager/qt4buildenvironmentwidget.h 1 addition, 0 deletionssrc/plugins/qt4projectmanager/qt4buildenvironmentwidget.h
- src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp 1 addition, 0 deletionssrc/plugins/qt4projectmanager/qt4projectconfigwidget.cpp
Loading
Please register or sign in to comment