summaryrefslogtreecommitdiffstats
path: root/src/event-log.cpp
diff options
context:
space:
mode:
authorMarkus Engel <markus.engel@tum.de>2013-03-29 23:52:42 +0000
committerMarkus Engel <markus.engel@tum.de>2013-03-29 23:52:42 +0000
commita168040d5a452544328a1e6ad35aaac351f94d44 (patch)
treefae1ba829f543a473da281bd5fa6e4deabbf6912 /src/event-log.cpp
parentRemoved function pointers from SPObject and subclasses. (diff)
parentDutch translation update (diff)
downloadinkscape-a168040d5a452544328a1e6ad35aaac351f94d44.tar.gz
inkscape-a168040d5a452544328a1e6ad35aaac351f94d44.zip
merged from trunk
(bzr r11608.1.56)
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)