diff options
| author | 2009-02-17 17:21:55 +0000 | |
|---|---|---|
| committer | 2009-02-17 17:21:55 +0000 | |
| commit | 47546513b81eb0b18259ddb85ab2124eb9a6bf7c (patch) | |
| tree | c9cdfbdfbfeecd171a6d4e287b8abc0bda1884c2 | |
| parent | More work on objects module (w.i.p.) (diff) | |
| download | KVIrc-47546513b81eb0b18259ddb85ab2124eb9a6bf7c.tar.gz KVIrc-47546513b81eb0b18259ddb85ab2124eb9a6bf7c.tar.bz2 KVIrc-47546513b81eb0b18259ddb85ab2124eb9a6bf7c.zip | |
ensure that all the modules that creates a window using g_pFrame->addWindow closes the window using g_pFrame->closeWindow (that is a public member by now); This removes some remaining problems regarding mdichilds
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@3080 17fca916-40b9-46aa-a4ea-0a15b648b75c
| -rw-r--r-- | src/kvirc/ui/kvi_frame.h | 3 | ||||
| -rw-r--r-- | src/kvirc/ui/kvi_window.cpp | 1 | ||||
| -rw-r--r-- | src/modules/actioneditor/libkviactioneditor.cpp | 3 | ||||
| -rw-r--r-- | src/modules/aliaseditor/libkvialiaseditor.cpp | 3 | ||||
| -rw-r--r-- | src/modules/editor/libkvieditor.cpp | 4 | ||||
| -rw-r--r-- | src/modules/eventeditor/libkvieventeditor.cpp | 3 | ||||
| -rw-r--r-- | src/modules/filetransferwindow/libkvifiletransferwindow.cpp | 8 | ||||
| -rw-r--r-- | src/modules/help/libkvihelp.cpp | 9 | ||||
| -rw-r--r-- | src/modules/iograph/libkviiograph.cpp | 9 | ||||
| -rw-r--r-- | src/modules/links/libkvilinks.cpp | 3 | ||||
| -rw-r--r-- | src/modules/list/libkvilist.cpp | 3 | ||||
| -rw-r--r-- | src/modules/logview/libkvilogview.cpp | 3 | ||||
| -rw-r--r-- | src/modules/popupeditor/libkvipopupeditor.cpp | 3 | ||||
| -rw-r--r-- | src/modules/raweditor/libkviraweditor.cpp | 3 | ||||
| -rw-r--r-- | src/modules/sharedfileswindow/libkvisharedfileswindow.cpp | 8 | ||||
| -rw-r--r-- | src/modules/socketspy/libkvisocketspy.cpp | 3 | ||||
| -rw-r--r-- | src/modules/term/libkviterm.cpp | 6 |
17 files changed, 40 insertions, 35 deletions
diff --git a/src/kvirc/ui/kvi_frame.h b/src/kvirc/ui/kvi_frame.h index 3ff02a64f..3a08de66b 100644 --- a/src/kvirc/ui/kvi_frame.h +++ b/src/kvirc/ui/kvi_frame.h @@ -130,6 +130,7 @@ public: // If bShow is false then the window is not explicitly shown // otherwise it is set as active window. void addWindow(KviWindow *wnd,bool bShow = true); // public for modules + void closeWindow(KviWindow *wnd); // Checks if a specified window is still existing in this frame child // window list. This is useful for asynchronous functions // that keep a window pointer and need to ensure that it is still @@ -183,8 +184,6 @@ protected: KviMdiChild * dockWindow(KviWindow *wnd,bool bShow = true,bool bCascade = true,QRect * setGeom = 0); void undockWindow(KviWindow *wnd); - void closeWindow(KviWindow *wnd); - // called by KviWindow void childWindowCloseRequest(KviWindow *wnd); void childWindowActivated(KviWindow *wnd); diff --git a/src/kvirc/ui/kvi_window.cpp b/src/kvirc/ui/kvi_window.cpp index aa5ac28b0..17946a47f 100644 --- a/src/kvirc/ui/kvi_window.cpp +++ b/src/kvirc/ui/kvi_window.cpp @@ -139,7 +139,6 @@ KviWindow::KviWindow(int type,KviFrame * lpFrm,const QString &name,KviConsole * KviWindow::~KviWindow() { - //g_pFrame->childWindowDestroyed(this); destroyWindowListItem(); g_pApp->unregisterWindow(this); if(g_pApp->windowCount() == 0) diff --git a/src/modules/actioneditor/libkviactioneditor.cpp b/src/modules/actioneditor/libkviactioneditor.cpp index ff37090da..0741578c1 100644 --- a/src/modules/actioneditor/libkviactioneditor.cpp +++ b/src/modules/actioneditor/libkviactioneditor.cpp @@ -71,7 +71,8 @@ static bool actioneditor_module_can_unload(KviModule *) static bool actioneditor_module_cleanup(KviModule *) { - if(g_pActionEditorWindow)delete g_pActionEditorWindow; + if(g_pActionEditorWindow && g_pFrame) + g_pFrame->closeWindow(g_pActionEditorWindow); g_pActionEditorWindow = 0; return true; } diff --git a/src/modules/aliaseditor/libkvialiaseditor.cpp b/src/modules/aliaseditor/libkvialiaseditor.cpp index e6fee3015..7e130ba15 100644 --- a/src/modules/aliaseditor/libkvialiaseditor.cpp +++ b/src/modules/aliaseditor/libkvialiaseditor.cpp @@ -75,7 +75,8 @@ static bool aliaseditor_module_can_unload(KviModule * ) static bool aliaseditor_module_cleanup(KviModule *) { - if(g_pAliasEditorWindow)delete g_pAliasEditorWindow; + if(g_pAliasEditorWindow && g_pFrame) + g_pFrame->closeWindow(g_pAliasEditorWindow); g_pAliasEditorWindow = 0; return true; } diff --git a/src/modules/editor/libkvieditor.cpp b/src/modules/editor/libkvieditor.cpp index 6f36648e8..a1c83d94e 100644 --- a/src/modules/editor/libkvieditor.cpp +++ b/src/modules/editor/libkvieditor.cpp @@ -50,7 +50,7 @@ static bool editor_module_cleanup(KviModule *) * the codetester window (it deletes us in its denstructor, and we tries to back-delete it) * So it's commented out by now.. */ -/* + while(g_pScriptEditorWindowList->first()) { QObject * w = g_pScriptEditorWindowList->first()->parent();; @@ -68,7 +68,7 @@ static bool editor_module_cleanup(KviModule *) } delete g_pScriptEditorWindowList->first(); } -*/ + delete g_pScriptEditorWindowList; g_pScriptEditorWindowList = 0; diff --git a/src/modules/eventeditor/libkvieventeditor.cpp b/src/modules/eventeditor/libkvieventeditor.cpp index 630348929..d3bb68108 100644 --- a/src/modules/eventeditor/libkvieventeditor.cpp +++ b/src/modules/eventeditor/libkvieventeditor.cpp @@ -73,7 +73,8 @@ static bool eventeditor_module_can_unload(KviModule *) static bool eventeditor_module_cleanup(KviModule *) { - if(g_pEventEditorWindow)delete g_pEventEditorWindow; + if(g_pEventEditorWindow && g_pFrame) + g_pFrame->closeWindow(g_pEventEditorWindow); g_pEventEditorWindow = 0; return true; } diff --git a/src/modules/filetransferwindow/libkvifiletransferwindow.cpp b/src/modules/filetransferwindow/libkvifiletransferwindow.cpp index 88d927f3b..4ac05b4b7 100644 --- a/src/modules/filetransferwindow/libkvifiletransferwindow.cpp +++ b/src/modules/filetransferwindow/libkvifiletransferwindow.cpp @@ -133,11 +133,9 @@ static bool filetransferwindow_module_init(KviModule * m) static bool filetransferwindow_module_cleanup(KviModule *) { - if(g_pFileTransferWindow) - { - delete g_pFileTransferWindow; - g_pFileTransferWindow = 0; - } + if(g_pFileTransferWindow && g_pFrame) + g_pFrame->closeWindow(g_pFileTransferWindow); + g_pFileTransferWindow = 0; return true; } diff --git a/src/modules/help/libkvihelp.cpp b/src/modules/help/libkvihelp.cpp index 266fe2f9c..357ba9424 100644 --- a/src/modules/help/libkvihelp.cpp +++ b/src/modules/help/libkvihelp.cpp @@ -200,11 +200,14 @@ static bool help_module_init(KviModule * m) static bool help_module_cleanup(KviModule *) { - if(g_pDocIndex) delete g_pDocIndex; - while(g_pHelpWidgetList->first())delete g_pHelpWidgetList->first(); + if(g_pDocIndex) + delete g_pDocIndex; + while(g_pHelpWidgetList->first()) + delete g_pHelpWidgetList->first(); delete g_pHelpWidgetList; g_pHelpWidgetList = 0; - while(g_pHelpWindowList->first())g_pHelpWindowList->first()->close(); + while(g_pHelpWindowList->first()) + g_pHelpWindowList->first()->close(); delete g_pHelpWindowList; g_pHelpWindowList = 0; return true; diff --git a/src/modules/iograph/libkviiograph.cpp b/src/modules/iograph/libkviiograph.cpp index c273435f6..3ae54a2ae 100644 --- a/src/modules/iograph/libkviiograph.cpp +++ b/src/modules/iograph/libkviiograph.cpp @@ -155,7 +155,6 @@ void KviIOGraphWidget::timerEvent(QTimerEvent *) unsigned int sDiff = sB - m_uLastSentBytes; unsigned int rDiff = rB - m_uLastRecvBytes; - printf("%d\n",sDiff); unsigned int iMax = qMax(sDiff, rDiff); while(iMax > m_maxRate) m_maxRate*=2; @@ -326,11 +325,9 @@ static bool iograph_module_init(KviModule *m) static bool iograph_module_cleanup(KviModule *) { - if(g_pIOGraphWindow) - { - delete g_pIOGraphWindow; - g_pIOGraphWindow = 0; - } + if(g_pIOGraphWindow && g_pFrame) + g_pFrame->closeWindow(g_pIOGraphWindow); + g_pIOGraphWindow = 0; return true; } diff --git a/src/modules/links/libkvilinks.cpp b/src/modules/links/libkvilinks.cpp index 8903c9ea6..7b01bdb35 100644 --- a/src/modules/links/libkvilinks.cpp +++ b/src/modules/links/libkvilinks.cpp @@ -88,7 +88,8 @@ static bool links_module_init(KviModule * m) static bool links_module_cleanup(KviModule *) { - while(g_pLinksWindowList->first())g_pLinksWindowList->first()->die(); + while(g_pLinksWindowList->first()) + g_pLinksWindowList->first()->die(); delete g_pLinksWindowList; g_pLinksWindowList = 0; return true; diff --git a/src/modules/list/libkvilist.cpp b/src/modules/list/libkvilist.cpp index 0f4b2529c..5f272e23d 100644 --- a/src/modules/list/libkvilist.cpp +++ b/src/modules/list/libkvilist.cpp @@ -75,7 +75,8 @@ static bool list_module_init(KviModule * m) static bool list_module_cleanup(KviModule *) { - while(g_pListWindowList->first())g_pListWindowList->first()->die(); + while(g_pListWindowList->first()) + g_pListWindowList->first()->die(); delete g_pListWindowList; g_pListWindowList = 0; return true; diff --git a/src/modules/logview/libkvilogview.cpp b/src/modules/logview/libkvilogview.cpp index cbfed9f3e..0d862e7e7 100644 --- a/src/modules/logview/libkvilogview.cpp +++ b/src/modules/logview/libkvilogview.cpp @@ -142,7 +142,8 @@ static bool logview_module_init(KviModule * m) static bool logview_module_cleanup(KviModule *) { - if(g_pLogViewWindow)delete g_pLogViewWindow; + if(g_pLogViewWindow && g_pFrame) + g_pFrame->closeWindow(g_pLogViewWindow); g_pLogViewWindow = 0; return true; } diff --git a/src/modules/popupeditor/libkvipopupeditor.cpp b/src/modules/popupeditor/libkvipopupeditor.cpp index 5b4105aae..85e689afc 100644 --- a/src/modules/popupeditor/libkvipopupeditor.cpp +++ b/src/modules/popupeditor/libkvipopupeditor.cpp @@ -72,7 +72,8 @@ static bool popupeditor_module_can_unload(KviModule *) static bool popupeditor_module_cleanup(KviModule *) { - if(g_pPopupEditorWindow)delete g_pPopupEditorWindow; + if(g_pPopupEditorWindow && g_pFrame) + g_pFrame->closeWindow(g_pPopupEditorWindow); g_pPopupEditorWindow = 0; return true; } diff --git a/src/modules/raweditor/libkviraweditor.cpp b/src/modules/raweditor/libkviraweditor.cpp index 633bb9458..6f91d7f03 100644 --- a/src/modules/raweditor/libkviraweditor.cpp +++ b/src/modules/raweditor/libkviraweditor.cpp @@ -71,7 +71,8 @@ static bool raweditor_module_can_unload(KviModule *) static bool raweditor_module_cleanup(KviModule *) { - if(g_pRawEditorWindow)delete g_pRawEditorWindow; + if(g_pRawEditorWindow && g_pFrame) + g_pFrame->closeWindow(g_pRawEditorWindow); g_pRawEditorWindow = 0; return true; } diff --git a/src/modules/sharedfileswindow/libkvisharedfileswindow.cpp b/src/modules/sharedfileswindow/libkvisharedfileswindow.cpp index 2319ba758..7fb699080 100644 --- a/src/modules/sharedfileswindow/libkvisharedfileswindow.cpp +++ b/src/modules/sharedfileswindow/libkvisharedfileswindow.cpp @@ -131,11 +131,9 @@ static bool sharedfileswindow_module_init(KviModule * m) static bool sharedfileswindow_module_cleanup(KviModule *) { - if(g_pSharedFilesWindow) - { - delete g_pSharedFilesWindow; - g_pSharedFilesWindow = 0; - } + if(g_pSharedFilesWindow && g_pFrame) + g_pFrame->closeWindow(g_pSharedFilesWindow); + g_pSharedFilesWindow = 0; return true; } diff --git a/src/modules/socketspy/libkvisocketspy.cpp b/src/modules/socketspy/libkvisocketspy.cpp index a16639916..edff34641 100644 --- a/src/modules/socketspy/libkvisocketspy.cpp +++ b/src/modules/socketspy/libkvisocketspy.cpp @@ -68,7 +68,8 @@ static bool socketspy_module_init(KviModule * m) static bool socketspy_module_cleanup(KviModule *) { - while(g_pSocketSpyWindowList->first())g_pSocketSpyWindowList->first()->die(); + while(g_pSocketSpyWindowList->first()) + g_pSocketSpyWindowList->first()->die(); delete g_pSocketSpyWindowList; g_pSocketSpyWindowList = 0; return true; diff --git a/src/modules/term/libkviterm.cpp b/src/modules/term/libkviterm.cpp index abdf6df92..4167697dd 100644 --- a/src/modules/term/libkviterm.cpp +++ b/src/modules/term/libkviterm.cpp @@ -99,10 +99,12 @@ static bool term_module_init(KviModule * m) static bool term_module_cleanup(KviModule *) { #ifdef COMPILE_KDE_SUPPORT - while(g_pTermWidgetList->first())delete g_pTermWidgetList->first(); + while(g_pTermWidgetList->first()) + delete g_pTermWidgetList->first(); delete g_pTermWidgetList; g_pTermWidgetList = 0; - while(g_pTermWindowList->first())g_pTermWindowList->first()->close(); + while(g_pTermWindowList->first()) + g_pTermWindowList->first()->close(); delete g_pTermWindowList; g_pTermWindowList = 0; #endif |
