| Summary: | crash when opening non-existant file from command line | ||
|---|---|---|---|
| Product: | [Applications] kst | Reporter: | Matthew Truch <matt> |
| Component: | general | Assignee: | kst |
| Status: | RESOLVED FIXED | ||
| Severity: | crash | ||
| Priority: | NOR | ||
| Version First Reported In: | 1.x | ||
| Target Milestone: | --- | ||
| Platform: | RedHat Enterprise Linux | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
|
Description
Matthew Truch
2004-07-23 22:25:34 UTC
Cannot reproduce with CVS-HEAD. Possibly due to latest crash fix. Please reopen with backtrace if it's still a problem. It does not crash if you do: kst abcdefg.txt but does crash if you do something like: kst -y vector_name abcdefg.txt I cannot produce useful backtraces with my systems. sorry. :-( Still can't reproduce: $ kst -y 1 sdkfkd.txt kst: : KDockWidget::setHeader kst: KDockWidgetHeader::showUndockButton(true) kst: KDockWidgetHeader::showUndockButton(false) kmdi: switch(mdiMode): default kparts: DockMainWindow::createGUI for 0L kst: Don't understand. FrameCount=0 err=1 kst: -> Valid database? false Error: No data in file: sdkfkd.txt $ CVS commit by staikos:
- remove unused methods
- fix #85821 and #85733 - the same bug
- it was an assertion failure, and this is the one place where
KstApp::inst() can be null, in (app) destruction. I'm not sure it's a
good idea to be calling update methods from a destructor though.
CCMAIL: 85821-done@bugs.kde.org, 85733-done@bugs.kde.org
M +0 -1 kst.cpp 1.196
M +6 -22 kstviewwindow.cpp 1.32
M +0 -14 kstviewwindow.h 1.17
--- kdeextragear-2/kst/kst/kst.cpp #1.195:1.196
@@ -1243,5 +1243,4 @@ void KstApp::updateDialogs() {
changeFileDialog->updateChangeFileDialog();
changeNptsDialog->updateChangeNptsDialog();
- //filterListEditor->update();
updateDataDialogs(false);
vectorSaveDialog->init();
--- kdeextragear-2/kst/kst/kstviewwindow.cpp #1.31:1.32
@@ -107,8 +107,4 @@ KstViewWindow::KstViewWindow(QDomElement
void KstViewWindow::commonConstructor() {
config = kapp->config();
- initStatusBar();
- initActions();
-
- readOptions();
connect(this, SIGNAL(focusInEventOccurs( KMdiChildView*)), this, SLOT(slotActivated(KMdiChildView*)));
@@ -125,23 +121,11 @@ void KstViewWindow::updateActions() {
KstViewWindow::~KstViewWindow() {
- assert(KstApp::inst()); // email George if you get this crash
_view->release();
- KstApp::inst()->updateDialogsForWindow();
-}
-
-
-void KstViewWindow::initActions() {
-}
-
-
-void KstViewWindow::initStatusBar() {
-}
-
-
-void KstViewWindow::saveOptions() {
-}
-
-
-void KstViewWindow::readOptions() {
+ KstApp *app = KstApp::inst(); // Can be null on exit - but then why do
+ // we even need to be calling this function
+ // here? It seems wrong to me.
+ if (app) {
+ app->updateDialogsForWindow();
+ }
}
--- kdeextragear-2/kst/kst/kstviewwindow.h #1.16:1.17
@@ -53,18 +53,4 @@ class KstViewWindow : public KMdiChildVi
protected:
- /** save options to the configuration file
- * Geometry, Toolbar status, Statusbar status */
- void saveOptions();
-
- /** read options from configuration file
- * Geometry, Toolbar status, Statusbar status */
- void readOptions();
-
- /** setup kde2 actions and build the GUI */
- void initActions();
-
- /** sets up the statusbar for the main window */
- void initStatusBar();
-
/** saves the window properties for each open window during session
* end to the session config file, including saving the currently
|