glom r1897 - in trunk: . glom/mode_data glom/utility_widgets/db_adddel
- From: arminb svn gnome org
- To: svn-commits-list gnome org
- Subject: glom r1897 - in trunk: . glom/mode_data glom/utility_widgets/db_adddel
- Date: Sun, 15 Feb 2009 13:59:00 +0000 (UTC)
Author: arminb
Date: Sun Feb 15 13:59:00 2009
New Revision: 1897
URL: http://svn.gnome.org/viewvc/glom?rev=1897&view=rev
Log:
2009-02-15 Armin Burgmeier <armin openismus com>
* glom/mode_data/box_data_details.cc (on_flowtable_field_edited):
Revert the changed value if set_field_value_in_database() throws a
glib exception.
Modified:
trunk/ChangeLog
trunk/glom/mode_data/box_data_details.cc
trunk/glom/utility_widgets/db_adddel/db_adddel.cc
Modified: trunk/glom/mode_data/box_data_details.cc
==============================================================================
--- trunk/glom/mode_data/box_data_details.cc (original)
+++ trunk/glom/mode_data/box_data_details.cc Sun Feb 15 13:59:00 2009
@@ -760,6 +760,10 @@
bTest = set_field_value_in_database(field_in_record, field_value, false /* don't use current calculations */, get_app_window());
}
#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ catch(const Glib::Exception& ex)
+ {
+ handle_error(ex);
+ }
catch(const std::exception& ex)
{
handle_error(ex);
@@ -773,7 +777,9 @@
if(!bTest)
{
//Update failed.
- fill_from_database(); //Replace with correct values.
+ //Replace with correct values.
+ const Gnome::Gda::Value value_old = get_field_value_in_database(field_in_record, window);
+ set_entered_field_data(layout_field, value_old);
}
else
{
Modified: trunk/glom/utility_widgets/db_adddel/db_adddel.cc
==============================================================================
--- trunk/glom/utility_widgets/db_adddel/db_adddel.cc (original)
+++ trunk/glom/utility_widgets/db_adddel/db_adddel.cc Sun Feb 15 13:59:00 2009
@@ -2265,6 +2265,7 @@
{
handle_error(ex);
+ //Replace with correct values.
if(primary_key_field)
{
LayoutFieldInRecord field_in_record(layout_field, m_found_set.m_table_name /* parent */, primary_key_field, primary_key_value);
@@ -2276,6 +2277,7 @@
{
handle_error(ex);
+ //Replace with correct values.
if(primary_key_field)
{
LayoutFieldInRecord field_in_record(layout_field, m_found_set.m_table_name /* parent */, primary_key_field, primary_key_value);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]