From: johanengelen Date: Sun, 2 Mar 2008 15:54:04 +0000 (+0000) Subject: improved fix crash bug #197664 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=68de227ff798b4e57e67d0da63cf8070250e49b7;p=inkscape.git improved fix crash bug #197664 --- diff --git a/src/extension/internal/gdkpixbuf-input.cpp b/src/extension/internal/gdkpixbuf-input.cpp index 943300c9e..0b01a6ab1 100644 --- a/src/extension/internal/gdkpixbuf-input.cpp +++ b/src/extension/internal/gdkpixbuf-input.cpp @@ -21,11 +21,12 @@ SPDocument * GdkpixbufInput::open(Inkscape::Extension::Input */*mod*/, char const *uri) { SPDocument *doc = sp_document_new(NULL, TRUE, TRUE); - bool saved = sp_document_get_undo_sensitive(doc); - sp_document_set_undo_sensitive(doc, false); // no need to undo in this temporary document GdkPixbuf *pb = Inkscape::IO::pixbuf_new_from_file( uri, NULL ); if (pb) { /* We are readable */ + bool saved = sp_document_get_undo_sensitive(doc); + sp_document_set_undo_sensitive(doc, false); // no need to undo in this temporary document + Inkscape::XML::Node *repr = NULL; double width = gdk_pixbuf_get_width(pb); @@ -66,13 +67,12 @@ GdkpixbufInput::open(Inkscape::Extension::Input */*mod*/, char const *uri) gdk_pixbuf_unref(pb); //alter the canvas size to fit the image size fit_canvas_to_drawing(doc); + // restore undo, as now this document may be shown to the user if a bitmap was opened + sp_document_set_undo_sensitive(doc, saved); } else { printf("GdkPixbuf loader failed\n"); } - // restore undo, as now this document may be shown to the user if a bitmap was opened - sp_document_set_undo_sensitive(doc, saved); - return doc; }