]> Creatis software - bbtk.git/commitdiff
#3296 BBTK Bug New Normal - Error windows Close application
authorEduardo DAVILA <eduardo.davila@creatis.insa-lyon.fr>
Fri, 2 Aug 2019 15:28:08 +0000 (17:28 +0200)
committerEduardo DAVILA <eduardo.davila@creatis.insa-lyon.fr>
Fri, 2 Aug 2019 15:28:08 +0000 (17:28 +0200)
kernel/src/bbtkWidgetBlackBox.txx
kernel/src/bbtkWidgetBlackBoxWindow.txx
kernel/src/bbtkWx.cxx
kernel/src/bbtkWxBlackBox.cxx

index 6f2e8a6..0c2a7a1 100644 (file)
@@ -295,6 +295,9 @@ namespace bbtk
   {
     bbtkBlackBoxDebugMessage("widget",1,"=> WidgetBlackBox::bbCloseWindow() ["
                        <<bbGetFullName()<<"]"<<std::endl);
+                       
+printf("EED WidgetBlackBoxWindow<W>::bbDestroy\n");                    
+
 
     if (bbGetWindow()!=0) bbGetWindow()->bbDestroy();
 
index 13d1273..14413ed 100644 (file)
@@ -71,6 +71,8 @@ namespace bbtk
   template <class W>
   WidgetBlackBoxWindow<W>::~WidgetBlackBoxWindow()
   {
+  printf("EED WidgetBlackBoxWindow<W>::~WidgetBlackBoxWindow\n");
+  
     bbtkDebugMessage("widget",9,
                     "WidgetBlackBoxWindow::~WidgetBlackBoxWindow() "
                     <<this<<std::endl);
@@ -116,6 +118,8 @@ namespace bbtk
   void WidgetBlackBoxWindow<W>::bbDestroy()
   {
     
+printf("EED WidgetBlackBoxWindow<W>::bbDestroy \n");   
+
     if (mBox.expired()) return;
     bbtkDebugMessage("widget",9,"WidgetBlackBoxWindow::bbDestroy() [" 
                     <<mBox.lock()->bbGetName()<<"]"<<std::endl);
index 78848c1..31b473f 100644 (file)
@@ -106,6 +106,10 @@ namespace bbtk
   {
     if (mgWxApp!= 0) 
       {
+         
+printf("EED Wx::DestroyWxAppIfNeeded \n");
+         
+         
        //      bbtkDebugMessage("wx",1,"  --> Destructing bbtk WxApp"<<std::endl);
        //delete mgWxApp;
        //      mgWxApp = 0;
index 6a26356..8bf6f65 100644 (file)
@@ -115,14 +115,22 @@ namespace bbtk
   //==================================================================
   WxFrame::~WxFrame() 
     { 
+       
+printf("EED WxFrame::~WxFrame\n");     
+       
       if (mBox.lock())
-       bbtkDebugMessage("widget",9,"["<<mBox.lock()->bbGetName()
+         {
+               bbtkDebugMessage("widget",9,"["<<mBox.lock()->bbGetName()
                         <<"] $$$$$$$$$$$$$$$$$$$ ~WxFrame()"
                         <<std::endl);
-      else 
-       bbtkDebugMessage("widget",9,"[DEAD] $$$$$$$$$$$$$$$$$$$$$ ~WxFrame()"<<std::endl);
-      //bbtkDebugMessage("widget",9,"WxFrame::~WxFrame()"<<std::endl);
-      if (mBox.lock()) mBox.lock()->bbSetWindow(0); 
+      } else { 
+               bbtkDebugMessage("widget",9,"[DEAD] $$$$$$$$$$$$$$$$$$$$$ ~WxFrame()"<<std::endl);
+               //bbtkDebugMessage("widget",9,"WxFrame::~WxFrame()"<<std::endl);
+         } // if mBox.lock()
+      if (mBox.lock()) 
+         {
+               mBox.lock()->bbSetWindow(0); 
+         } // if mBox.lock()
       Wx::DecNbWindowsAlive();
     }
    //==================================================================