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