Index: framestackwidget.h
===================================================================
--- framestackwidget.h	(revision 753409)
+++ framestackwidget.h	(working copy)
@@ -155,6 +155,7 @@
 private:
   QListViewItem* findItemWhichBeginsWith(const QString& text) const;
 #endif
+  virtual void showEvent(QShowEvent*);
 
 private:
 
@@ -171,6 +172,8 @@
     int maxFrame_;
     bool has_more_frames;
 
+    bool mayUpdate_;
+
     friend class FrameStackItem;
 
     static const int frameChunk_ = 5;
Index: framestackwidget.cpp
===================================================================
--- framestackwidget.cpp	(revision 753409)
+++ framestackwidget.cpp	(working copy)
@@ -43,7 +43,8 @@
                                    const char *name, WFlags f)
         : QListView(parent, name, f),
           viewedThread_(0),
-          controller_(controller)
+          controller_(controller),
+          mayUpdate_( false )
 {
     setRootIsDecorated(true);
     setSorting(-1);
@@ -135,9 +136,14 @@
             kdDebug(9012) << "Clearning framestack\n";
             clear();
 
-            controller_->addCommand(
-                new GDBCommand("-thread-list-ids",
-                               this, &FramestackWidget::handleThreadList));
+            if ( isVisible() )
+            {
+               controller_->addCommand(
+                   new GDBCommand("-thread-list-ids",
+                                  this, &FramestackWidget::handleThreadList));
+               mayUpdate_ = false;
+            }
+            else mayUpdate_ = true;
 
             break;
             
@@ -180,6 +186,22 @@
     }
 }
 
+void FramestackWidget::showEvent(QShowEvent*)
+{
+   if (controller_->stateIsOn(s_appRunning))
+      return;
+
+   if ( mayUpdate_ )
+   {
+      clear();
+
+      controller_->addCommand(
+          new GDBCommand( "-thread-list-ids", this, &FramestackWidget::handleThreadList ) );
+
+      mayUpdate_ = false;
+   }
+}
+
 void FramestackWidget::getBacktrace(int min_frame, int max_frame)
 {
     minFrame_ = min_frame;
