diff options
| -rw-r--r-- | share/keys/default.xml | 19 | ||||
| -rw-r--r-- | share/keys/inkscape.xml | 19 | ||||
| -rw-r--r-- | src/desktop.cpp | 7 | ||||
| -rw-r--r-- | src/event-log.cpp | 13 |
4 files changed, 41 insertions, 17 deletions
diff --git a/share/keys/default.xml b/share/keys/default.xml index f9a6f0d44..cb1273013 100644 --- a/share/keys/default.xml +++ b/share/keys/default.xml @@ -664,21 +664,24 @@ override) the bindings in the main default.xml. <!-- Effects --> - <bind action="EffectLast" /> - <bind action="EffectLastPref" /> + <bind key="q" modifiers="Alt" action="EffectLast" display="true" /> + <bind key="Q" modifiers="Alt" action="EffectLast" /> + <bind key="q" modifiers="Shift,Alt" action="EffectLastPref" display="true" /> + <bind key="Q" modifiers="Shift,Alt" action="EffectLastPref" /> + <!-- You can also assign keys to individual effects. The action should be set to he effect id from the .inx file, for example "org.ekips.filter.addnodes" for the Add Nodes effect. --> - <bind key="g" modifiers="Ctrl,Alt" action="org.inkscape.typography.newglyphlayer" display="true"/> - <bind key="G" modifiers="Ctrl,Alt" action="org.inkscape.typography.newglyphlayer"/> + <bind key="g" modifiers="Ctrl,Alt" action="org.inkscape.typography.newglyphlayer" display="true"/> + <bind key="G" modifiers="Ctrl,Alt" action="org.inkscape.typography.newglyphlayer"/> <!-- - <bind key="h" modifiers="Ctrl,Alt" action="org.inkscape.typography.previousglyphlayer" display="true"/> - <bind key="H" modifiers="Ctrl,Alt" action="org.inkscape.typography.previousglyphlayer"/> + <bind key="h" modifiers="Ctrl,Alt" action="org.inkscape.typography.previousglyphlayer" display="true"/> + <bind key="H" modifiers="Ctrl,Alt" action="org.inkscape.typography.previousglyphlayer"/> --> - <bind key="j" modifiers="Ctrl,Alt" action="org.inkscape.typography.nextglyphlayer" display="true"/> - <bind key="J" modifiers="Ctrl,Alt" action="org.inkscape.typography.nextglyphlayer"/> + <bind key="j" modifiers="Ctrl,Alt" action="org.inkscape.typography.nextglyphlayer" display="true"/> + <bind key="J" modifiers="Ctrl,Alt" action="org.inkscape.typography.nextglyphlayer"/> </keys> diff --git a/share/keys/inkscape.xml b/share/keys/inkscape.xml index f9a6f0d44..cb1273013 100644 --- a/share/keys/inkscape.xml +++ b/share/keys/inkscape.xml @@ -664,21 +664,24 @@ override) the bindings in the main default.xml. <!-- Effects --> - <bind action="EffectLast" /> - <bind action="EffectLastPref" /> + <bind key="q" modifiers="Alt" action="EffectLast" display="true" /> + <bind key="Q" modifiers="Alt" action="EffectLast" /> + <bind key="q" modifiers="Shift,Alt" action="EffectLastPref" display="true" /> + <bind key="Q" modifiers="Shift,Alt" action="EffectLastPref" /> + <!-- You can also assign keys to individual effects. The action should be set to he effect id from the .inx file, for example "org.ekips.filter.addnodes" for the Add Nodes effect. --> - <bind key="g" modifiers="Ctrl,Alt" action="org.inkscape.typography.newglyphlayer" display="true"/> - <bind key="G" modifiers="Ctrl,Alt" action="org.inkscape.typography.newglyphlayer"/> + <bind key="g" modifiers="Ctrl,Alt" action="org.inkscape.typography.newglyphlayer" display="true"/> + <bind key="G" modifiers="Ctrl,Alt" action="org.inkscape.typography.newglyphlayer"/> <!-- - <bind key="h" modifiers="Ctrl,Alt" action="org.inkscape.typography.previousglyphlayer" display="true"/> - <bind key="H" modifiers="Ctrl,Alt" action="org.inkscape.typography.previousglyphlayer"/> + <bind key="h" modifiers="Ctrl,Alt" action="org.inkscape.typography.previousglyphlayer" display="true"/> + <bind key="H" modifiers="Ctrl,Alt" action="org.inkscape.typography.previousglyphlayer"/> --> - <bind key="j" modifiers="Ctrl,Alt" action="org.inkscape.typography.nextglyphlayer" display="true"/> - <bind key="J" modifiers="Ctrl,Alt" action="org.inkscape.typography.nextglyphlayer"/> + <bind key="j" modifiers="Ctrl,Alt" action="org.inkscape.typography.nextglyphlayer" display="true"/> + <bind key="J" modifiers="Ctrl,Alt" action="org.inkscape.typography.nextglyphlayer"/> </keys> diff --git a/src/desktop.cpp b/src/desktop.cpp index c7a763ae1..d74e8fdad 100644 --- a/src/desktop.cpp +++ b/src/desktop.cpp @@ -1582,6 +1582,13 @@ SPDesktop::setDocument (SPDocument *doc) _layer_hierarchy->connectChanged(sigc::bind(sigc::ptr_fun(_layer_hierarchy_changed), this)); _layer_hierarchy->setTop(doc->getRoot()); + // remove old EventLog if it exists (see also: bug #1071082) + if (event_log) { + doc->removeUndoObserver(*event_log); + delete event_log; + event_log = 0; + } + /* setup EventLog */ event_log = new Inkscape::EventLog(doc); doc->addUndoObserver(*event_log); diff --git a/src/event-log.cpp b/src/event-log.cpp index e2528ce0b..9304f68c5 100644 --- a/src/event-log.cpp +++ b/src/event-log.cpp @@ -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) |
