Author: post
Date: 2011-03-06 22:25:35 +0100 (Sun, 06 Mar 2011)
New Revision: 3849

Modified:
   trunk/src/rs-actions.c
   trunk/src/rs-toolbox.c
Log:
Add some guards when resetting settings, and only reset current setting.

Modified: trunk/src/rs-actions.c
===================================================================
--- trunk/src/rs-actions.c      2011-03-06 21:15:24 UTC (rev 3848)
+++ trunk/src/rs-actions.c      2011-03-06 21:25:35 UTC (rev 3849)
@@ -674,22 +674,19 @@
                RSCameraDb *db = rs_camera_db_get_singleton();
                gpointer p;
                RSSettings *s[3];
-               gint i;
+               gint snapshot = rs->current_setting;
 
-               if (rs_camera_db_photo_get_defaults(db, rs->photo, s, &p))
+               if (rs_camera_db_photo_get_defaults(db, rs->photo, s, &p) && 
s[snapshot] && RS_IS_SETTINGS(s[snapshot]))
                {
-                       for (i = 0; i < 3; i++)
-                       {
-                               rs_settings_copy(s[i], MASK_ALL, 
rs->photo->settings[i]);
-                       }
+                       rs_settings_copy(s[snapshot], MASK_ALL, 
rs->photo->settings[snapshot]);
                        if (rs->photo->dcp && p && RS_IS_DCP_FILE(p))
                                rs_photo_set_dcp_profile(rs->photo, p);
                }
                else
-                       
rs_settings_reset(rs->photo->settings[rs->current_setting], MASK_ALL);
+                       rs_settings_reset(rs->photo->settings[snapshot], 
MASK_ALL);
 
-               rs_photo_set_wb_from_camera(rs->photo, rs->current_setting);
-               
rs_settings_commit_stop(rs->photo->settings[rs->current_setting]);
+               rs_photo_set_wb_from_camera(rs->photo, snapshot);
+               rs_settings_commit_stop(rs->photo->settings[snapshot]);
        }
 }
 

Modified: trunk/src/rs-toolbox.c
===================================================================
--- trunk/src/rs-toolbox.c      2011-03-06 21:15:24 UTC (rev 3848)
+++ trunk/src/rs-toolbox.c      2011-03-06 21:25:35 UTC (rev 3849)
@@ -343,7 +343,7 @@
                gpointer p;
                RSSettings *s[3];
 
-               if (rs_camera_db_photo_get_defaults(db, toolbox->photo, s, &p))
+               if (rs_camera_db_photo_get_defaults(db, toolbox->photo, s, &p) 
&& s[snapshot] && RS_IS_SETTINGS(s[snapshot]))
                {
                        rs_settings_copy(s[snapshot], mask, 
toolbox->photo->settings[snapshot]);
                }


_______________________________________________
Rawstudio-commit mailing list
[email protected]
http://rawstudio.org/cgi-bin/mailman/listinfo/rawstudio-commit

Reply via email to