From 34f2be35f436eba541decaf0850edcb3cbd498ba Mon Sep 17 00:00:00 2001 From: "Jon A. Cruz" Date: Sun, 14 Aug 2011 13:29:07 -0700 Subject: Prevent creation of preview images if 'Enable preview' is not enabled. Fixes bug #826027. Fixed bugs: - https://launchpad.net/bugs/826027 (bzr r10541) --- src/ui/dialog/filedialogimpl-gtkmm.cpp | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/ui/dialog/filedialogimpl-gtkmm.cpp b/src/ui/dialog/filedialogimpl-gtkmm.cpp index 8e0b9294b..99662f0c2 100644 --- a/src/ui/dialog/filedialogimpl-gtkmm.cpp +++ b/src/ui/dialog/filedialogimpl-gtkmm.cpp @@ -599,8 +599,9 @@ void FileDialogBaseGtk::cleanup( bool showConfirmed ) { if (_dialogType != EXE_TYPES) { Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - if ( showConfirmed ) + if ( showConfirmed ) { prefs->setBool( preferenceBase + "/enable_preview", previewCheckbox.get_active() ); + } } } @@ -611,6 +612,9 @@ void FileDialogBaseGtk::_previewEnabledCB() set_preview_widget_active(enabled); if ( enabled ) { _updatePreviewCallback(); + } else { + // Clears out any current preview image. + svgPreview.showNoPreview(); } } @@ -622,6 +626,7 @@ void FileDialogBaseGtk::_previewEnabledCB() void FileDialogBaseGtk::_updatePreviewCallback() { Glib::ustring fileName = get_preview_filename(); + bool enabled = previewCheckbox.get_active(); #ifdef WITH_GNOME_VFS if ( fileName.empty() && gnome_vfs_initialized() ) { @@ -629,11 +634,11 @@ void FileDialogBaseGtk::_updatePreviewCallback() } #endif - if (fileName.empty()) { - return; + if ( enabled && !fileName.empty() ) { + svgPreview.set(fileName, _dialogType); + } else { + svgPreview.showNoPreview(); } - - svgPreview.set(fileName, _dialogType); } -- cgit v1.2.3