Bug 144254 - Local variable tree expanded unnecessarily, slowing down frame switching
Summary: Local variable tree expanded unnecessarily, slowing down frame switching
Status: RESOLVED FIXED
Alias: None
Product: kdevelop
Classification: Applications
Component: CPP Debugger (show other bugs)
Version: git master
Platform: Ubuntu Linux
: NOR normal
Target Milestone: ---
Assignee: kdevelop-bugs-null
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-04-15 14:53 UTC by Thomas McGuire
Modified: 2009-07-24 20:38 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas McGuire 2007-04-15 14:53:22 UTC
Version:           3.4 SVN (3.5 branch) (using KDE KDE 3.5.6)
Installed from:    Ubuntu Packages
OS:                Linux

For big projects, updating the local variables takes ages (several seconds) because a lot of GDB commands (-var-update*, -var-evaluate-expression, whatis, print) are executed.

Fortunately, collapsing the "Locals" tree prevents updates.

However, the "Locals" tree is expanded again when changing frames using the framestack widget. This should not happen. Because of this, using the framestack widget for switching frames is unusable for big projects.

When switching frames, the "Locals" tree should not be automatically expanded.

The cause for this is the call "frame->setOpen(true)" in VariableTree::demand_frame_root.
However, this can not be solved by simply removing this call, since in demand_frame_root, a new "Local" tree is created, which is only removed later in VariableTree::frameIdReady. Removing the setOpen() call would also prevent frameIdReady() to be called.

I do not know how to solve this properly myself.
Comment 1 Andreas Pakulat 2009-07-24 20:38:36 UTC
this seems to be fixed in kdev4, the locals tree keeps its open/close state.