minus signs aren't accepted in date fields

Matt Kraai kraai@alumni.carnegiemellon.edu
Tue, 17 Jul 2001 12:22:21 -0600


Howdy,

It is not possible to enter minus signs into date fields in some
circumstances[1].  The following patch should fix this behavior by
ensuring that the keypress is propagated to the underlying widget
if it is not handled by one of the accelerators.

Matt

1. http://bugs.debian.org/104259

2001-07-17  Matt Kraai  <kraai@alumni.carnegiemellon.edu>

	* src/gnome/gnc-dateedit.c (date_accel_key_press): Stop
	propagating keypress only if it is handled by an accelerator.

Index: src/gnome/gnc-dateedit.c
===================================================================
RCS file: /home/cvs/cvsroot/gnucash/src/gnome/gnc-dateedit.c,v
retrieving revision 1.13
diff -u -p -r1.13 gnc-dateedit.c
--- src/gnome/gnc-dateedit.c	2001/07/02 22:55:45	1.13
+++ src/gnome/gnc-dateedit.c	2001/07/17 18:16:37
@@ -563,8 +563,6 @@ date_accel_key_press(GtkWidget *widget, 
 
         string = gtk_entry_get_text (GTK_ENTRY (widget));
 
-        gtk_signal_emit_stop_by_name (GTK_OBJECT (widget), "key_press_event");
-
         tm = gnc_date_edit_get_date_internal (gde);
 
         g_date_set_dmy (&gdate, tm.tm_mday, tm.tm_mon + 1, tm.tm_year + 1900);
@@ -692,6 +690,8 @@ date_accel_key_press(GtkWidget *widget, 
 	gtk_calendar_select_month (GTK_CALENDAR (gde->calendar), tm.tm_mon,
                                    1900 + tm.tm_year);
         gtk_calendar_select_day (GTK_CALENDAR (gde->calendar), tm.tm_mday);
+
+        gtk_signal_emit_stop_by_name (GTK_OBJECT (widget), "key_press_event");
 
         return TRUE;
 }