public void disposeDialog() { mUpdateTextAreaThread.commitSuicide(); mUpdateTextAreaThread = null; LogFileLogHandler baseHandler = getBaseHandler(); if (baseHandler != null) { baseHandler.setLogReceiver(null); } // store window positions: LogFileViewerConfigurationStorage storage = new LogFileViewerConfigurationStorage(); // put_additional_data_here getMindMapController() .storeDialogPositions(mLogFileViewer, storage, WINDOW_PREFERENCE_STORAGE_PROPERTY); getMindMapController().getController().getMapModuleManager().removeListener(this); mLogFileViewer.setVisible(false); mLogFileViewer.dispose(); }