glade3 r2028 - in trunk: . gladeui
- From: tvb svn gnome org
- To: svn-commits-list gnome org
- Subject: glade3 r2028 - in trunk: . gladeui
- Date: Sat, 15 Nov 2008 17:56:52 +0000 (UTC)
Author: tvb
Date: Sat Nov 15 17:56:51 2008
New Revision: 2028
URL: http://svn.gnome.org/viewvc/glade3?rev=2028&view=rev
Log:
* gladeui/glade-editor-property.[ch]: Fixed recursion in the eprops when
updating values (due to exterior callers calling ->load() when the project
changes for thier custom editors), this fixes glitches when editing multiline
text entries.
Modified:
trunk/ChangeLog
trunk/gladeui/glade-editor-property.c
trunk/gladeui/glade-editor-property.h
Modified: trunk/gladeui/glade-editor-property.c
==============================================================================
--- trunk/gladeui/glade-editor-property.c (original)
+++ trunk/gladeui/glade-editor-property.c Sat Nov 15 17:56:51 2008
@@ -123,7 +123,9 @@
g_return_if_fail (GLADE_IS_EDITOR_PROPERTY (eprop));
g_signal_handler_block (G_OBJECT (eprop->property), eprop->changed_id);
+ eprop->committing = TRUE;
glade_editor_property_commit (eprop, value);
+ eprop->committing = FALSE;
g_signal_handler_unblock (G_OBJECT (eprop->property), eprop->changed_id);
}
@@ -1647,9 +1649,7 @@
gtk_text_buffer_get_end_iter (buffer, &end);
text = gtk_text_buffer_get_text (buffer, &start, &end, FALSE);
-
glade_eprop_text_changed_common (eprop, text, eprop->use_command);
-
g_free (text);
}
@@ -3457,6 +3457,9 @@
g_return_if_fail (GLADE_IS_EDITOR_PROPERTY (eprop));
g_return_if_fail (property == NULL || GLADE_IS_PROPERTY (property));
+ if (eprop->committing)
+ return;
+
eprop->loading = TRUE;
GLADE_EDITOR_PROPERTY_GET_CLASS (eprop)->load (eprop, property);
eprop->loading = FALSE;
Modified: trunk/gladeui/glade-editor-property.h
==============================================================================
--- trunk/gladeui/glade-editor-property.h (original)
+++ trunk/gladeui/glade-editor-property.h Sat Nov 15 17:56:51 2008
@@ -109,6 +109,9 @@
gboolean loading; /* True during glade_editor_property_load calls, this
* is used to avoid feedback from input widgets.
*/
+ gboolean committing; /* True while the editor property itself is applying
+ * the property with glade_editor_property_commit_no_callback ().
+ */
gboolean use_command; /* Whether we should use the glade command interface
* or skip directly to GladeProperty interface.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]