https://bugs.kde.org/show_bug.cgi?id=369278

--- Comment #1 from RJVB <rjvber...@gmail.com> ---
A bit more info on this one: apparently the debugger toolbar state is saved in
more than 1 location. If it reappears against my instructions, I quit KDevelop
and turn the debugger toolbar off in kdeveloprc, it will reappear consistently.

In Sublime::MainWindow::loadSettings() its visibility will be set to false,
which also allows me to set a conditional breakpoint in QWidget::setVisible()
to catch subsequent changes. And indeed, a bit later I get a whole series of
hits with the backtraces below, suggesting that its a plugin restoring its view
settings that causes this. Could that be the debugger plugin itself or is it
just the plugin load order and what its idea bout debugger toolbar visibility
is that determines whether it will ultimately be visible?

If so, why do so many plugins store a visibility state for this toolbar, and
what can be done about it? This basically means that the toolbar's effective
visibility at startup is almost purely random, and that doesn't apply for other
toolbars.

1st:
* thread #1: tid = 0x1ba872e, 0x000000010cdc69f8
QtWidgets`QWidget::setVisible(this=0x00007fd5fcd14590, visible=true) + 40 at
qwidget.cpp:8112, queue = 'com.apple.main-thread', stop reason = breakpoint 2.1
    frame #0: 0x000000010cdc69f8
QtWidgets`QWidget::setVisible(this=0x00007fd5fcd14590, visible=true) + 40 at
qwidget.cpp:8112 [opt]
   8109 
   8110 void QWidget::setVisible(bool visible)
   8111 {
-> 8112     if (visible) { // show
   8113         if (testAttribute(Qt::WA_WState_ExplicitShowHide) &&
!testAttribute(Qt::WA_WState_Hidden))
   8114             return;
   8115 
(lldb) bt
* thread #1: tid = 0x1ba872e, 0x000000010cdc69f8
QtWidgets`QWidget::setVisible(this=0x00007fd5fcd14590, visible=true) + 40 at
qwidget.cpp:8112, queue = 'com.apple.main-thread', stop reason = breakpoint 2.1
  * frame #0: 0x000000010cdc69f8
QtWidgets`QWidget::setVisible(this=0x00007fd5fcd14590, visible=true) + 40 at
qwidget.cpp:8112 [opt]
    frame #1: 0x000000010cf6ed00
QtWidgets`QToolBarAreaLayout::restoreState(this=0x00007fd5fa8a2a38,
stream=0x00007fff54bd5198, _toolBars=<unavailable>, tmarker=<unavailable>,
testing=false) + 912 at qtoolbararealayout.cpp:1356 [opt]
    frame #2: 0x000000010ceda412
QtWidgets`QMainWindowLayoutState::restoreState(this=0x00007fd5fa8a2a20,
_stream=<unavailable>, oldState=<unavailable>) + 642 at
qmainwindowlayout.cpp:985 [opt]
    frame #3: 0x000000010cee1be2
QtWidgets`QMainWindowLayout::restoreState(this=0x00007fd5fa8a2a00,
stream=<unavailable>) + 98 at qmainwindowlayout.cpp:2522 [opt]
    frame #4: 0x000000010ced62de
QtWidgets`QMainWindow::restoreState(this=0x00007fd5fc9db3a0,
state=<unavailable>, version=<unavailable>) + 142 at qmainwindow.cpp:1329 [opt]
    frame #5: 0x000000010c0ea769
libKF5XmlGui.5.dylib`KMainWindow::applyMainWindowSettings(KConfigGroup const&)
+ 1811
    frame #6: 0x000000010c11dac3
libKF5XmlGui.5.dylib`KXmlGuiWindow::applyMainWindowSettings(KConfigGroup
const&) + 23
    frame #7: 0x000000010c11da98
libKF5XmlGui.5.dylib`KXmlGuiWindow::finalizeGUI(bool) + 98
    frame #8: 0x000000010c10f0e7
libKF5XmlGui.5.dylib`KXMLGUIFactory::addClient(KXMLGUIClient*) + 1169
    frame #9: 0x000000010b07aeb7
libKDevPlatformShell.10.dylib`KDevelop::MainWindowPrivate::addPlugin(this=0x00007fd5fa429a50,
plugin=<unavailable>) + 439 at mainwindow_p.cpp:97 [opt]
    frame #10: 0x000000010df184b6 QtCore`QMetaObject::activate(QObject*, int,
int, void**) [inlined] QtPrivate::QSlotObjectBase::call(this=<unavailable>,
r=<unavailable>, a=<unavailable>) + 2054 at qobject_impl.h:124 [opt]
    frame #11: 0x000000010df1849b
QtCore`QMetaObject::activate(sender=0x00007fd5fa439b80,
signalOffset=<unavailable>, local_signal_index=<unavailable>,
argv=<unavailable>) + 2027 at qobject.cpp:3715 [opt]
    frame #12: 0x000000010ba2cb7f
libKDevPlatformInterfaces.10.dylib`KDevelop::IPluginController::pluginLoaded(this=<unavailable>,
_t1=<unavailable>) + 63 at moc_iplugincontroller.cpp:235 [opt]
    frame #13: 0x000000010b083aac
libKDevPlatformShell.10.dylib`KDevelop::PluginController::loadPluginInternal(this=<unavailable>,
pluginId=<unavailable>) + 7916 at plugincontroller.cpp:578 [opt]
    frame #14: 0x000000010b08936b
libKDevPlatformShell.10.dylib`KDevelop::PluginController::allPluginsForExtension(QString
const&, QMap<QString, QVariant> const&) [inlined]
KDevelop::PluginController::allPluginsForExtension(QString const&,
QMap<QString, QVariant> const&)::$_9::operator()(KPluginMetaData const&) const
+ 85 at plugincontroller.cpp:658 [opt]
    frame #15: 0x000000010b089316
libKDevPlatformShell.10.dylib`KDevelop::PluginController::allPluginsForExtension(QString
const&, QMap<QString, QVariant> const&) [inlined] void
KDevelop::PluginControllerPrivate::foreachEnabledPlugin<KDevelop::PluginController::allPluginsForExtension(QString
const&, QMap<QString, QVariant> const&)::$_9>(this=0x00007fd5fa4f2c60)::$_9,
QString const&, QMap<QString, QVariant> const&, QString const&) + 790 at
plugincontroller.cpp:220 [opt]
    frame #16: 0x000000010b089000
libKDevPlatformShell.10.dylib`KDevelop::PluginController::allPluginsForExtension(this=0x00007fd5fa439b80,
extension=<Invalid>, constraints=<size=0>) + 64 at plugincontroller.cpp:655
[opt]
    frame #17: 0x000000010b0f7436
libKDevPlatformShell.10.dylib`KDevelop::DocumentationController::documentationProviders(this=<unavailable>)
const + 86 at documentationcontroller.cpp:186 [opt]
    frame #18: 0x000000010b0f6e41
libKDevPlatformShell.10.dylib`KDevelop::DocumentationController::initialize(this=0x00007fd5fce99390)
+ 33 at documentationcontroller.cpp:125 [opt]
    frame #19: 0x000000010b092b9c
libKDevPlatformShell.10.dylib`KDevelop::CorePrivate::initialize(this=<unavailable>,
mode=<unavailable>, session=<unavailable>) + 5772 at core.cpp:290 [opt]
    frame #20: 0x000000010b0937dc
libKDevPlatformShell.10.dylib`KDevelop::Core::initialize(splash=0x0000000000000000,
mode=<unavailable>, session=<unavailable>) + 508 at core.cpp:363 [opt]
    frame #21: 0x000000010b03fbab kdevelop.bin`main(argc=<unavailable>,
argv=0x00007fff54bd6270) + 42523 at main.cpp:769 [opt]


2nd:
* thread #1: tid = 0x1ba872e, 0x000000010cdc69f8
QtWidgets`QWidget::setVisible(this=0x00007fd5fcd14590, visible=false) + 40 at
qwidget.cpp:8112, queue = 'com.apple.main-thread', stop reason = breakpoint 2.1
    frame #0: 0x000000010cdc69f8
QtWidgets`QWidget::setVisible(this=0x00007fd5fcd14590, visible=false) + 40 at
qwidget.cpp:8112 [opt]
   8109 
   8110 void QWidget::setVisible(bool visible)
   8111 {
-> 8112     if (visible) { // show
   8113         if (testAttribute(Qt::WA_WState_ExplicitShowHide) &&
!testAttribute(Qt::WA_WState_Hidden))
   8114             return;
   8115 
(lldb) bt
* thread #1: tid = 0x1ba872e, 0x000000010cdc69f8
QtWidgets`QWidget::setVisible(this=0x00007fd5fcd14590, visible=false) + 40 at
qwidget.cpp:8112, queue = 'com.apple.main-thread', stop reason = breakpoint 2.1
  * frame #0: 0x000000010cdc69f8
QtWidgets`QWidget::setVisible(this=0x00007fd5fcd14590, visible=false) + 40 at
qwidget.cpp:8112 [opt]
    frame #1: 0x000000010cf3eb9e
QtWidgets`QToolBarPrivate::setWindowState(this=0x00007fd5fcd14e60,
floating=false, unplug=true, rect=0x00007fff54bd30b0) + 78 at qtoolbar.cpp:146
[opt]
    frame #2: 0x000000010cf6ed19
QtWidgets`QToolBarAreaLayout::restoreState(this=0x00007fd5fa8a2a38,
stream=0x00007fff54bd32e8, _toolBars=<unavailable>, tmarker=<unavailable>,
testing=false) + 937 at qtoolbararealayout.cpp:1357 [opt]
    frame #3: 0x000000010ceda412
QtWidgets`QMainWindowLayoutState::restoreState(this=0x00007fd5fa8a2a20,
_stream=<unavailable>, oldState=<unavailable>) + 642 at
qmainwindowlayout.cpp:985 [opt]
    frame #4: 0x000000010cee1be2
QtWidgets`QMainWindowLayout::restoreState(this=0x00007fd5fa8a2a00,
stream=<unavailable>) + 98 at qmainwindowlayout.cpp:2522 [opt]
    frame #5: 0x000000010ced62de
QtWidgets`QMainWindow::restoreState(this=0x00007fd5fc9db3a0,
state=<unavailable>, version=<unavailable>) + 142 at qmainwindow.cpp:1329 [opt]
    frame #6: 0x000000010c0ea769
libKF5XmlGui.5.dylib`KMainWindow::applyMainWindowSettings(KConfigGroup const&)
+ 1811
    frame #7: 0x000000010c11dac3
libKF5XmlGui.5.dylib`KXmlGuiWindow::applyMainWindowSettings(KConfigGroup
const&) + 23
    frame #8: 0x000000010c11da98
libKF5XmlGui.5.dylib`KXmlGuiWindow::finalizeGUI(bool) + 98
    frame #9: 0x000000010c10f0e7
libKF5XmlGui.5.dylib`KXMLGUIFactory::addClient(KXMLGUIClient*) + 1169
    frame #10: 0x000000010b07aeb7
libKDevPlatformShell.10.dylib`KDevelop::MainWindowPrivate::addPlugin(this=0x00007fd5fa429a50,
plugin=<unavailable>) + 439 at mainwindow_p.cpp:97 [opt]
    frame #11: 0x000000010df184b6 QtCore`QMetaObject::activate(QObject*, int,
int, void**) [inlined] QtPrivate::QSlotObjectBase::call(this=<unavailable>,
r=<unavailable>, a=<unavailable>) + 2054 at qobject_impl.h:124 [opt]
    frame #12: 0x000000010df1849b
QtCore`QMetaObject::activate(sender=0x00007fd5fa439b80,
signalOffset=<unavailable>, local_signal_index=<unavailable>,
argv=<unavailable>) + 2027 at qobject.cpp:3715 [opt]
    frame #13: 0x000000010ba2cb7f
libKDevPlatformInterfaces.10.dylib`KDevelop::IPluginController::pluginLoaded(this=<unavailable>,
_t1=<unavailable>) + 63 at moc_iplugincontroller.cpp:235 [opt]
    frame #14: 0x000000010b083aac
libKDevPlatformShell.10.dylib`KDevelop::PluginController::loadPluginInternal(this=<unavailable>,
pluginId=<unavailable>) + 7916 at plugincontroller.cpp:578 [opt]
    frame #15: 0x000000010b08a3d8
libKDevPlatformShell.10.dylib`KDevelop::PluginController::loadProjectPlugins(this=<unavailable>)
+ 568 at plugincontroller.cpp:719 [opt]
    frame #16: 0x000000010b0a1b85
libKDevPlatformShell.10.dylib`KDevelop::ProjectControllerPrivate::importProject(this=<unavailable>,
url_=<unavailable>) + 2021 at projectcontroller.cpp:303 [opt]
    frame #17: 0x000000010b0a135a
libKDevPlatformShell.10.dylib`KDevelop::ProjectController::openProject(this=<unavailable>,
projectFile=<unavailable>) + 3418 at projectcontroller.cpp:808 [opt]
    frame #18: 0x000000010b09fe5c
libKDevPlatformShell.10.dylib`KDevelop::ProjectController::openProjects(this=<unavailable>,
projects=<unavailable>) + 204 at projectcontroller.cpp:630 [opt]
    frame #19: 0x000000010df10de3 QtCore`QObject::event(this=<unavailable>,
e=<unavailable>) + 659 at qobject.cpp:1256 [opt]
    frame #20: 0x000000010cd861e6
QtWidgets`QApplicationPrivate::notify_helper(this=<unavailable>,
receiver=0x00007fd5fcf25a90, e=0x00007fd5fd0c4970) + 294 at
qapplication.cpp:3804 [opt]
    frame #21: 0x000000010cd89726
QtWidgets`QApplication::notify(this=<unavailable>, receiver=<unavailable>,
e=<unavailable>) + 8470 at qapplication.cpp:3767 [opt]
    frame #22: 0x000000010dee4567
QtCore`QCoreApplication::notifyInternal2(receiver=0x00007fd5fcf25a90,
event=0x00007fd5fd0c4970) + 167 at qcoreapplication.cpp:1020 [opt]
    frame #23: 0x000000010dee5166
QtCore`QCoreApplicationPrivate::sendPostedEvents(receiver=0x0000000000000000,
event_type=0, data=0x00007fd5fa500d40) + 566 at qcoreapplication.h:225 [opt]
    frame #24: 0x000000011851b92e
libqcocoa.dylib`QCocoaEventDispatcherPrivate::processPostedEvents(this=0x00007fd5fa4cc2d0)
+ 190 at qcocoaeventdispatcher.mm:883 [opt]
    frame #25: 0x000000011851c211
libqcocoa.dylib`QCocoaEventDispatcherPrivate::postedEventsSourceCallback(info=0x00007fd5fa4cc2d0)
+ 33 at qcocoaeventdispatcher.mm:920 [opt]
    frame #26: 0x00007fff8bb905b1
CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
    frame #27: 0x00007fff8bb81c62 CoreFoundation`__CFRunLoopDoSources0 + 242
    frame #28: 0x00007fff8bb813ef CoreFoundation`__CFRunLoopRun + 831
    frame #29: 0x00007fff8bb80e75 CoreFoundation`CFRunLoopRunSpecific + 309
    frame #30: 0x00007fff8c2cca0d HIToolbox`RunCurrentEventLoopInMode + 226
    frame #31: 0x00007fff8c2cc685 HIToolbox`ReceiveNextEventCommon + 173
    frame #32: 0x00007fff8c2cc5bc
HIToolbox`_BlockUntilNextEventMatchingListInModeWithFilter + 65
    frame #33: 0x00007fff8589c24e AppKit`_DPSNextEvent + 1434
    frame #34: 0x00007fff8589b89b AppKit`-[NSApplication
nextEventMatchingMask:untilDate:inMode:dequeue:] + 122
    frame #35: 0x00007fff8588f99c AppKit`-[NSApplication run] + 553
    frame #36: 0x000000011851b08d
libqcocoa.dylib`QCocoaEventDispatcher::processEvents(this=0x00007fd5fa4cb090,
flags=<unavailable>) + 2189 at qcocoaeventdispatcher.mm:416 [opt]
    frame #37: 0x000000010dee0981
QtCore`QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) [inlined]
QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 401 at
qeventloop.cpp:128 [opt]
    frame #38: 0x000000010dee0964
QtCore`QEventLoop::exec(this=0x00007fff54bd5e50, flags=<unavailable>) + 372 at
qeventloop.cpp:204 [opt]
    frame #39: 0x000000010dee4bf5 QtCore`QCoreApplication::exec() + 325 at
qcoreapplication.cpp:1290 [opt]
    frame #40: 0x000000010b0424da kdevelop.bin`main(argc=<unavailable>,
argv=0x00007fd5fce257d0) + 53066 at main.cpp:893 [opt]

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to