diff --git a/ChangeLog b/ChangeLog index 8cb0e554d0..372e6db512 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Fri May 15 09:44:10 1998 Tim Janik + + * gtk/gtkwidget.h (struct _GtkWidgetClass): corrected returntype of + the visibility_notify_event method and changed method order. + Thu May 14 03:04:43 1998 Tim Janik * gtk/gtk.defs: added GtkButtonBoxStyle and GtkOrientation definitions diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index 8cb0e554d0..372e6db512 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,3 +1,8 @@ +Fri May 15 09:44:10 1998 Tim Janik + + * gtk/gtkwidget.h (struct _GtkWidgetClass): corrected returntype of + the visibility_notify_event method and changed method order. + Thu May 14 03:04:43 1998 Tim Janik * gtk/gtk.defs: added GtkButtonBoxStyle and GtkOrientation definitions diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 8cb0e554d0..372e6db512 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,8 @@ +Fri May 15 09:44:10 1998 Tim Janik + + * gtk/gtkwidget.h (struct _GtkWidgetClass): corrected returntype of + the visibility_notify_event method and changed method order. + Thu May 14 03:04:43 1998 Tim Janik * gtk/gtk.defs: added GtkButtonBoxStyle and GtkOrientation definitions diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index 8cb0e554d0..372e6db512 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,8 @@ +Fri May 15 09:44:10 1998 Tim Janik + + * gtk/gtkwidget.h (struct _GtkWidgetClass): corrected returntype of + the visibility_notify_event method and changed method order. + Thu May 14 03:04:43 1998 Tim Janik * gtk/gtk.defs: added GtkButtonBoxStyle and GtkOrientation definitions diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index 8cb0e554d0..372e6db512 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,8 @@ +Fri May 15 09:44:10 1998 Tim Janik + + * gtk/gtkwidget.h (struct _GtkWidgetClass): corrected returntype of + the visibility_notify_event method and changed method order. + Thu May 14 03:04:43 1998 Tim Janik * gtk/gtk.defs: added GtkButtonBoxStyle and GtkOrientation definitions diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 8cb0e554d0..372e6db512 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,8 @@ +Fri May 15 09:44:10 1998 Tim Janik + + * gtk/gtkwidget.h (struct _GtkWidgetClass): corrected returntype of + the visibility_notify_event method and changed method order. + Thu May 14 03:04:43 1998 Tim Janik * gtk/gtk.defs: added GtkButtonBoxStyle and GtkOrientation definitions diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 8cb0e554d0..372e6db512 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,8 @@ +Fri May 15 09:44:10 1998 Tim Janik + + * gtk/gtkwidget.h (struct _GtkWidgetClass): corrected returntype of + the visibility_notify_event method and changed method order. + Thu May 14 03:04:43 1998 Tim Janik * gtk/gtk.defs: added GtkButtonBoxStyle and GtkOrientation definitions diff --git a/glib/ChangeLog b/glib/ChangeLog index 8f0252d490..71515d005d 100644 --- a/glib/ChangeLog +++ b/glib/ChangeLog @@ -1,3 +1,13 @@ +Fri May 15 00:56:59 1998 Tim Janik + + * glib.h: further support for gcc function attributes: G_GNUC_FORMAT, + G_GNUC_NORETURN and G_GNUC_CONST. + + * gscanner.c (g_scanner_stat_mode): changed stat() to lstat(). + (g_scanner_msg_handler): "\n" at end of line! + (g_scanner_foreach_symbol): new function to iterate over the symbol + table (GScanner does value-wrapping). + Thu May 14 04:14:12 1998 Tim Janik * glib.h: typedef gint gboolean; diff --git a/glib/glib.h b/glib/glib.h index 5bf282f5d7..653affcbfa 100644 --- a/glib/glib.h +++ b/glib/glib.h @@ -136,16 +136,25 @@ # endif #endif -/* Provide macros to feature the GCC printf format function attribute. +/* Provide macros to feature GCC function attributes. */ #if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4) #define G_GNUC_PRINTF( format_idx, arg_idx ) \ __attribute__((format (printf, format_idx, arg_idx))) #define G_GNUC_SCANF( format_idx, arg_idx ) \ __attribute__((format (scanf, format_idx, arg_idx))) +#define G_GNUC_FORMAT( arg_idx ) \ + __attribute__((format_arg (arg_idx))) +#define G_GNUC_NORETURN \ + __attribute__((noreturn)) +#define G_GNUC_CONST \ + __attribute__((const)) #else /* !__GNUC__ */ #define G_GNUC_PRINTF( format_idx, arg_idx ) #define G_GNUC_SCANF( format_idx, arg_idx ) +#define G_GNUC_FORMAT( arg_idx ) +#define G_GNUC_NORETURN +#define G_GNUC_CONST #endif /* !__GNUC__ */ /* Wrap the __PRETTY_FUNCTION__ and __FUNCTION__ variables with macros, @@ -706,7 +715,7 @@ gdouble g_timer_elapsed (GTimer *timer, /* Output */ -void g_error (const gchar *format, ...) G_GNUC_PRINTF (1, 2); +void g_error (const gchar *format, ...) G_GNUC_PRINTF (1, 2) G_GNUC_NORETURN; void g_warning (const gchar *format, ...) G_GNUC_PRINTF (1, 2); void g_message (const gchar *format, ...) G_GNUC_PRINTF (1, 2); void g_print (const gchar *format, ...) G_GNUC_PRINTF (1, 2); @@ -1031,6 +1040,9 @@ void g_scanner_add_symbol (GScanner *scanner, gpointer value); gpointer g_scanner_lookup_symbol (GScanner *scanner, const gchar *symbol); +void g_scanner_foreach_symbol (GScanner *scanner, + GHFunc func, + gpointer func_data); void g_scanner_remove_symbol (GScanner *scanner, const gchar *symbol); void g_scanner_unexp_token (GScanner *scanner, diff --git a/glib/gscanner.c b/glib/gscanner.c index 73f4a0e6bb..7485f8f7d8 100644 --- a/glib/gscanner.c +++ b/glib/gscanner.c @@ -243,7 +243,7 @@ g_scanner_msg_handler (GScanner *scanner, fprintf (stdout, "%s:%d: ", scanner->input_name, scanner->line); if (is_error) fprintf (stdout, "error: "); - fprintf (stdout, "%s", message); + fprintf (stdout, "%s\n", message); } void @@ -389,6 +389,39 @@ g_scanner_lookup_symbol (GScanner *scanner, return NULL; } +static void +g_scanner_foreach_internal (gpointer key, + gpointer value, + gpointer user_data) +{ + register GScannerHashVal *hash_val; + register GHFunc func; + register gpointer func_data; + register gpointer *d; + + d = user_data; + func = d[0]; + func_data = d[1]; + hash_val = value; + + func (key, hash_val->value, func_data); +} + +void +g_scanner_foreach_symbol (GScanner *scanner, + GHFunc func, + gpointer func_data) +{ + gpointer d[2]; + + g_return_if_fail (scanner != NULL); + + d[0] = func; + d[1] = func_data; + + g_hash_table_foreach (scanner->symbol_table, g_scanner_foreach_internal, d); +} + void g_scanner_remove_symbol (GScanner *scanner, const gchar *symbol) @@ -867,7 +900,7 @@ g_scanner_stat_mode (const gchar *filename) stat_buf = g_new0 (struct stat, 1); - stat (filename, stat_buf); + lstat (filename, stat_buf); st_mode = stat_buf->st_mode; diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 7e7b25e2b9..63aaa12007 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -668,11 +668,11 @@ gtk_widget_class_init (GtkWidgetClass *klass) gtk_widget_marshal_signal_4, GTK_TYPE_BOOL, 1, GTK_TYPE_GDK_EVENT); - widget_signals[OTHER_EVENT] = - gtk_signal_new ("other_event", + widget_signals[VISIBILITY_NOTIFY_EVENT] = + gtk_signal_new ("visibility_notify_event", GTK_RUN_LAST, object_class->type, - GTK_SIGNAL_OFFSET (GtkWidgetClass, other_event), + GTK_SIGNAL_OFFSET (GtkWidgetClass, visibility_notify_event), gtk_widget_marshal_signal_4, GTK_TYPE_BOOL, 1, GTK_TYPE_GDK_EVENT); @@ -692,13 +692,13 @@ gtk_widget_class_init (GtkWidgetClass *klass) gtk_widget_marshal_signal_4, GTK_TYPE_BOOL, 1, GTK_TYPE_GDK_EVENT); - widget_signals[VISIBILITY_NOTIFY_EVENT] = - gtk_signal_new ("visibility_notify_event", + widget_signals[OTHER_EVENT] = + gtk_signal_new ("other_event", GTK_RUN_LAST, object_class->type, - GTK_SIGNAL_OFFSET (GtkWidgetClass, visibility_notify_event), - gtk_widget_marshal_signal_1, - GTK_TYPE_NONE, 1, + GTK_SIGNAL_OFFSET (GtkWidgetClass, other_event), + gtk_widget_marshal_signal_4, + GTK_TYPE_BOOL, 1, GTK_TYPE_GDK_EVENT); gtk_object_class_add_signals (object_class, widget_signals, LAST_SIGNAL); diff --git a/gtk/gtkwidget.h b/gtk/gtkwidget.h index e979b78d9e..2cfeef874c 100644 --- a/gtk/gtkwidget.h +++ b/gtk/gtkwidget.h @@ -321,21 +321,20 @@ struct _GtkWidgetClass GdkEventDropEnter *event); gint (* drop_leave_event) (GtkWidget *widget, GdkEventDropLeave *event); - gint (* drop_data_available_event) (GtkWidget *widget, - GdkEventDropDataAvailable *event); + gint (* drop_data_available_event)(GtkWidget *widget, + GdkEventDropDataAvailable *event); + gint (* visibility_notify_event) (GtkWidget *widget, + GdkEventVisibility *event); + gint (* client_event) (GtkWidget *widget, + GdkEventClient *event); + gint (* no_expose_event) (GtkWidget *widget, + GdkEventAny *event); gint (* other_event) (GtkWidget *widget, GdkEventOther *event); /* selection */ void (* selection_received) (GtkWidget *widget, GtkSelectionData *selection_data); - - gint (* client_event) (GtkWidget *widget, - GdkEventClient *event); - gint (* no_expose_event) (GtkWidget *widget, - GdkEventAny *event); - void (* visibility_notify_event) (GtkWidget *widget, - GdkEventVisibility *event); }; struct _GtkWidgetAuxInfo