diff --git a/src/desktop.cpp b/src/desktop.cpp
index e4e2ed7bca30aad8709f76430860e4abc03a6f3e..83a6f40219717352957ad0f7659cd591290da120 100644 (file)
--- a/src/desktop.cpp
+++ b/src/desktop.cpp
_setDisplayMode(Inkscape::RENDERMODE_OUTLINE);
break;
case Inkscape::RENDERMODE_OUTLINE:
+ _setDisplayMode(Inkscape::RENDERMODE_NORMAL);
+ break;
+// case Inkscape::RENDERMODE_PRINT_COLORS_PREVIEW:
default:
_setDisplayMode(Inkscape::RENDERMODE_NORMAL);
}
Gtk::Window *parent = this->getToplevel();
g_assert(parent != NULL);
SPDesktopWidget *dtw = (SPDesktopWidget *) parent->get_data("desktopwidget");
- if (dtw) dtw->desktop = this;
- sp_desktop_widget_update_namedview(dtw);
+ if (dtw) {
+ dtw->desktop = this;
+ }
+ dtw->updateNamedview();
_namedview_modified (namedview, SP_OBJECT_MODIFIED_FLAG, this);
_document_replaced_signal.emit (this, theDocument);
event_context = next;
}
+ // The event_context will be null. This means that it will be impossible
+ // to process any event invoked by the lines below. See for example bug
+ // LP #622350. Cutting and undoing again in the node tool resets the event
+ // context to the node tool. In this bug the line bellow invokes GDK_LEAVE_NOTIFY
+ // events which cannot be handled and must be discarded.
ec = sp_event_context_new (type, this, config, SP_EVENT_CONTEXT_STATIC);
ec->next = event_context;
event_context = ec;
+ // Now the event_context has been set again and we can process all events again
sp_event_context_activate (ec);
_event_context_changed_signal.emit (this, ec);
}
if (!Geom::are_near(area, 0) && area * 2.0 < _quick_zoom_stored_area.area()) {
set_display_area(nodes, true);
zoomed = true;
- }
+ }
}
}
void
SPDesktop::updateNow()
{
- sp_canvas_update_now(canvas);
+ sp_canvas_update_now(canvas);
}
void
_reconstruction_start (SPDesktop * desktop)
{
// printf("Desktop, starting reconstruction\n");
- desktop->_reconstruction_old_layer_id = g_strdup(SP_OBJECT_ID(desktop->currentLayer()));
+ desktop->_reconstruction_old_layer_id = g_strdup(desktop->currentLayer()->getId());
desktop->_layer_hierarchy->setBottom(desktop->currentRoot());
/*
fill-column:99
End:
*/
-// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :