]> Creatis software - bbtk.git/blobdiff - kernel/src/bbtkWidgetBlackBox.txx
*** empty log message ***
[bbtk.git] / kernel / src / bbtkWidgetBlackBox.txx
index 1abdaad92f81ad694410b80c9fc9ccd974c94137..2aeb1783de0d188113b47349f13e75b8da9b3da7 100644 (file)
@@ -2,8 +2,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkWidgetBlackBox.txx,v $
   Language:  C++
-  Date:      $Date: 2009/05/14 14:43:34 $
-  Version:   $Revision: 1.3 $
+  Date:      $Date: 2009/05/19 10:19:23 $
+  Version:   $Revision: 1.4 $
 =========================================================================*/
 
 /* ---------------------------------------------------------------------
@@ -79,10 +79,16 @@ namespace bbtk
   void WidgetBlackBox<T>::bbUserFinalizeProcessing()
   {
     bbtkDebugMessage("widget",9,"==> WidgetBlackBox::bbUserFinalizeProcessing() ["<<bbGetFullName()<<"]"<<std::endl);
-    if (bbGetWindow()) {
-      bbGetWindow()->bbClose();
-      bbSetWindow(0);
-    }
+    if (bbGetWindow()) 
+      {
+       if (GetUseCount()==0)
+         {
+           if (bbGetWindow()->bbIsShown()) DecNbWindowsShown();
+           DecNbWindowsAlive();
+         }
+       bbGetWindow()->bbDestroy();
+       bbSetWindow(0);
+      }
     bbtkDebugMessage("widget",9,"<== WidgetBlackBox::bbUserFinalizeProcessing() ["<<bbGetFullName()<<"]"<<std::endl);
   }
   //=========================================================================
@@ -223,7 +229,7 @@ namespace bbtk
     bbtkDebugMessageInc("widget",1,"=> WidgetBlackBox::bbCloseWindow() ["
                        <<bbGetFullName()<<"]"<<std::endl);
 
-    if (bbGetWindow()!=0) bbGetWindow()->bbClose();
+    if (bbGetWindow()!=0) bbGetWindow()->bbDestroy();
 
     bbtkDebugMessageDec("widget",2,"<= WidgetBlackBox::bbCloseWindow() ["
                        <<bbGetFullName()<<"]"<<std::endl);