summaryrefslogtreecommitdiffstats
path: root/src/event-log.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/event-log.cpp')
-rw-r--r--src/event-log.cpp15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/event-log.cpp b/src/event-log.cpp
index e2528ce0b..d0342fbe9 100644
--- a/src/event-log.cpp
+++ b/src/event-log.cpp
@@ -7,9 +7,9 @@
* Released under GNU GPL, read the file 'COPYING' for more information
*/
+#include "event-log.h"
#include <glibmm/i18n.h>
-#include "event-log.h"
#include "desktop.h"
#include "inkscape.h"
#include "util/ucompose.hpp"
@@ -38,7 +38,18 @@ EventLog::EventLog(SPDocument* document) :
curr_row[_columns.type] = SP_VERB_FILE_NEW;
}
-EventLog::~EventLog() { }
+EventLog::~EventLog() {
+ // avoid crash by clearing entries here (see bug #1071082)
+ if (_connected) {
+ (*_callback_connections)[CALLB_SELECTION_CHANGE].block();
+ (*_callback_connections)[CALLB_EXPAND].block();
+
+ _event_list_store->clear();
+
+ (*_callback_connections)[CALLB_EXPAND].block(false);
+ (*_callback_connections)[CALLB_SELECTION_CHANGE].block(false);
+ }
+}
void
EventLog::notifyUndoEvent(Event* log)