mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-04-06 06:11:42 -07:00
Use glib_user_data more consistently (bug#75905)
* src/gtkutil.c (style_changed_cb): (xg_dialog_response_cb): (xg_toggle_notify_cb): (xg_finish_scroll_bar_creation): (menu_bar_button_pressed_cb): (find_scrollbar_cb): (create_menus): (xg_create_frame_widgets): (xg_create_frame_outer_widgets): (xg_tool_bar_callback): (xg_tool_bar_help_callback): (xg_make_tool_item): (xg_dialog_run): (xg_get_file_with_chooser): (xg_get_widget_from_map): Use glib_user_data, free_glib_user_data. * src/pgtkmenu.c (menubar_selection_callback): (popup_selection_callback): Use glib_user_data, get_glib_user_data.
This commit is contained in:
parent
6883005f1c
commit
b2e5efd34b
2 changed files with 54 additions and 42 deletions
|
|
@ -1470,7 +1470,7 @@ style_changed_cb (GObject *go,
|
|||
gpointer user_data)
|
||||
{
|
||||
struct input_event event;
|
||||
GdkDisplay *gdpy = user_data;
|
||||
GdkDisplay *gdpy = get_glib_user_data (user_data);
|
||||
const char *display_name = gdk_display_get_name (gdpy);
|
||||
#ifndef HAVE_PGTK
|
||||
Display *dpy = GDK_DISPLAY_XDISPLAY (gdpy);
|
||||
|
|
@ -1784,9 +1784,10 @@ xg_create_frame_widgets (struct frame *f)
|
|||
(gpointer) G_CALLBACK (style_changed_cb),
|
||||
0))
|
||||
{
|
||||
g_signal_connect (G_OBJECT (gs), "notify::gtk-theme-name",
|
||||
G_CALLBACK (style_changed_cb),
|
||||
gdk_screen_get_display (screen));
|
||||
g_signal_connect_data (G_OBJECT (gs), "notify::gtk-theme-name",
|
||||
G_CALLBACK (style_changed_cb),
|
||||
glib_user_data (gdk_screen_get_display (screen)),
|
||||
free_glib_user_data, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1889,9 +1890,10 @@ xg_create_frame_outer_widgets (struct frame *f)
|
|||
(gpointer) G_CALLBACK (style_changed_cb),
|
||||
0))
|
||||
{
|
||||
g_signal_connect (G_OBJECT (gs), "notify::gtk-theme-name",
|
||||
G_CALLBACK (style_changed_cb),
|
||||
gdk_screen_get_display (screen));
|
||||
g_signal_connect_data (G_OBJECT (gs), "notify::gtk-theme-name",
|
||||
G_CALLBACK (style_changed_cb),
|
||||
glib_user_data (gdk_screen_get_display (screen)),
|
||||
free_glib_user_data, 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -2444,7 +2446,7 @@ xg_dialog_response_cb (GtkDialog *w,
|
|||
gint response,
|
||||
gpointer user_data)
|
||||
{
|
||||
struct xg_dialog_data *dd = user_data;
|
||||
struct xg_dialog_data *dd = get_glib_user_data (user_data);
|
||||
dd->response = response;
|
||||
g_main_loop_quit (dd->loop);
|
||||
}
|
||||
|
|
@ -2511,10 +2513,11 @@ xg_dialog_run (struct frame *f, GtkWidget *w)
|
|||
dd.w = w;
|
||||
dd.timerid = 0;
|
||||
|
||||
g_signal_connect (G_OBJECT (w),
|
||||
"response",
|
||||
G_CALLBACK (xg_dialog_response_cb),
|
||||
&dd);
|
||||
g_signal_connect_data (G_OBJECT (w),
|
||||
"response",
|
||||
G_CALLBACK (xg_dialog_response_cb),
|
||||
glib_user_data (&dd), free_glib_user_data,
|
||||
0);
|
||||
/* Don't destroy the widget if closed by the window manager close button. */
|
||||
g_signal_connect (G_OBJECT (w), "delete-event", G_CALLBACK (gtk_true), NULL);
|
||||
gtk_widget_show (w);
|
||||
|
|
@ -2582,7 +2585,7 @@ xg_toggle_notify_cb (GObject *gobject, GParamSpec *arg1, gpointer user_data)
|
|||
{
|
||||
if (strcmp (arg1->name, "show-hidden") == 0)
|
||||
{
|
||||
GtkWidget *wtoggle = GTK_WIDGET (user_data);
|
||||
GtkWidget *wtoggle = GTK_WIDGET (get_glib_user_data (user_data));
|
||||
gboolean visible, toggle_on;
|
||||
|
||||
g_object_get (G_OBJECT (gobject), "show-hidden", &visible, NULL);
|
||||
|
|
@ -2648,10 +2651,13 @@ xg_get_file_with_chooser (struct frame *f,
|
|||
x_gtk_show_hidden_files);
|
||||
|
||||
gtk_widget_show (wtoggle);
|
||||
g_signal_connect (G_OBJECT (wtoggle), "clicked",
|
||||
G_CALLBACK (xg_toggle_visibility_cb), filewin);
|
||||
g_signal_connect (G_OBJECT (filewin), "notify",
|
||||
G_CALLBACK (xg_toggle_notify_cb), wtoggle);
|
||||
g_signal_connect_data (G_OBJECT (wtoggle), "clicked",
|
||||
G_CALLBACK (xg_toggle_visibility_cb),
|
||||
glib_user_data (filewin),
|
||||
free_glib_user_data, 0);
|
||||
g_signal_connect_data (G_OBJECT (filewin), "notify",
|
||||
G_CALLBACK (xg_toggle_notify_cb), glib_user_data (wtoggle),
|
||||
free_glib_user_data, 0);
|
||||
|
||||
if (x_gtk_file_dialog_help_text)
|
||||
{
|
||||
|
|
@ -3364,7 +3370,7 @@ static gboolean
|
|||
menu_bar_button_pressed_cb (GtkWidget *widget, GdkEvent *event,
|
||||
gpointer user_data)
|
||||
{
|
||||
struct frame *f = user_data;
|
||||
struct frame *f = get_glib_user_data (user_data);
|
||||
|
||||
if (event->button.button < 4
|
||||
&& event->button.window != gtk_widget_get_window (widget)
|
||||
|
|
@ -3442,9 +3448,9 @@ create_menus (widget_value *data,
|
|||
|
||||
#ifdef HAVE_PGTK
|
||||
g_signal_connect_data (G_OBJECT (wmenu), "button-press-event",
|
||||
G_CALLBACK (menu_bar_button_pressed_cb),
|
||||
glib_user_data (f), free_glib_user_data,
|
||||
0);
|
||||
G_CALLBACK (menu_bar_button_pressed_cb),
|
||||
glib_user_data (f), free_glib_user_data,
|
||||
0);
|
||||
#endif
|
||||
/* Set width of menu bar to a small value so it doesn't enlarge
|
||||
a small initial frame size. The width will be set to the
|
||||
|
|
@ -4445,7 +4451,7 @@ xg_get_widget_from_map (ptrdiff_t idx, Display *dpy)
|
|||
static void
|
||||
find_scrollbar_cb (GtkWidget *widget, gpointer user_data)
|
||||
{
|
||||
GtkWidget **scroll_bar = user_data;
|
||||
GtkWidget **scroll_bar = get_glib_user_data (user_data);
|
||||
|
||||
if (GTK_IS_SCROLLBAR (widget))
|
||||
*scroll_bar = widget;
|
||||
|
|
@ -4466,9 +4472,11 @@ xg_get_widget_from_map (ptrdiff_t window, Display *dpy)
|
|||
event.any.type = GDK_NOTHING;
|
||||
gwdesc = gtk_get_event_widget (&event);
|
||||
|
||||
gpointer user_data = glib_user_data (&scroll_bar);
|
||||
if (gwdesc && GTK_IS_EVENT_BOX (gwdesc))
|
||||
gtk_container_forall (GTK_CONTAINER (gwdesc),
|
||||
find_scrollbar_cb, &scroll_bar);
|
||||
find_scrollbar_cb, user_data);
|
||||
free_glib_user_data (user_data, NULL);
|
||||
}
|
||||
else
|
||||
return NULL;
|
||||
|
|
@ -4636,10 +4644,11 @@ xg_finish_scroll_bar_creation (struct frame *f,
|
|||
#if defined HAVE_PGTK || !defined HAVE_GTK3
|
||||
ptrdiff_t scroll_id = xg_store_widget_in_map (wscroll);
|
||||
|
||||
g_signal_connect (G_OBJECT (wscroll),
|
||||
"destroy",
|
||||
G_CALLBACK (xg_gtk_scroll_destroy),
|
||||
(gpointer) scroll_id);
|
||||
g_signal_connect_data (G_OBJECT (wscroll),
|
||||
"destroy",
|
||||
G_CALLBACK (xg_gtk_scroll_destroy),
|
||||
glib_user_data ((gpointer) scroll_id),
|
||||
free_glib_user_data, 0);
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_MPS
|
||||
|
|
@ -5384,7 +5393,7 @@ xg_tool_bar_button_cb (GtkWidget *widget,
|
|||
static void
|
||||
xg_tool_bar_callback (GtkWidget *w, gpointer client_data)
|
||||
{
|
||||
intptr_t idx = (intptr_t) client_data;
|
||||
intptr_t idx = (intptr_t) get_glib_user_data (client_data);
|
||||
gpointer gmod = g_object_get_data (G_OBJECT (w), XG_TOOL_BAR_LAST_MODIFIER);
|
||||
intptr_t mod = (intptr_t) gmod;
|
||||
|
||||
|
|
@ -5446,7 +5455,7 @@ xg_tool_bar_help_callback (GtkWidget *w,
|
|||
GdkEventCrossing *event,
|
||||
gpointer client_data)
|
||||
{
|
||||
intptr_t idx = (intptr_t) client_data;
|
||||
intptr_t idx = (intptr_t) get_glib_user_data (client_data);
|
||||
struct frame *f = g_object_get_data (G_OBJECT (w), XG_FRAME_DATA);
|
||||
Lisp_Object help, frame;
|
||||
|
||||
|
|
@ -5694,9 +5703,10 @@ xg_make_tool_item (struct frame *f,
|
|||
intptr_t ii = i;
|
||||
gpointer gi = (gpointer) ii;
|
||||
|
||||
g_signal_connect (G_OBJECT (wb), "clicked",
|
||||
G_CALLBACK (xg_tool_bar_callback),
|
||||
gi);
|
||||
g_signal_connect_data (G_OBJECT (wb), "clicked",
|
||||
G_CALLBACK (xg_tool_bar_callback),
|
||||
glib_user_data (gi), free_glib_user_data,
|
||||
0);
|
||||
|
||||
g_object_set_data (G_OBJECT (weventbox), XG_FRAME_DATA, (gpointer)f);
|
||||
|
||||
|
|
@ -5723,14 +5733,16 @@ xg_make_tool_item (struct frame *f,
|
|||
rather than the GtkButton specific signals "enter" and
|
||||
"leave", so we can have only one callback. The event
|
||||
will tell us what kind of event it is. */
|
||||
g_signal_connect (G_OBJECT (weventbox),
|
||||
"enter-notify-event",
|
||||
G_CALLBACK (xg_tool_bar_help_callback),
|
||||
gi);
|
||||
g_signal_connect (G_OBJECT (weventbox),
|
||||
"leave-notify-event",
|
||||
G_CALLBACK (xg_tool_bar_help_callback),
|
||||
gi);
|
||||
g_signal_connect_data (G_OBJECT (weventbox),
|
||||
"enter-notify-event",
|
||||
G_CALLBACK (xg_tool_bar_help_callback),
|
||||
glib_user_data (gi), free_glib_user_data,
|
||||
0);
|
||||
g_signal_connect_data (G_OBJECT (weventbox),
|
||||
"leave-notify-event",
|
||||
G_CALLBACK (xg_tool_bar_help_callback),
|
||||
glib_user_data (gi), free_glib_user_data,
|
||||
0);
|
||||
}
|
||||
|
||||
if (wbutton) *wbutton = wb;
|
||||
|
|
|
|||
|
|
@ -188,7 +188,7 @@ static bool xg_crazy_callback_abort;
|
|||
static void
|
||||
menubar_selection_callback (GtkWidget *widget, gpointer client_data)
|
||||
{
|
||||
xg_menu_item_cb_data *cb_data = client_data;
|
||||
xg_menu_item_cb_data *cb_data = get_glib_user_data (client_data);
|
||||
|
||||
if (xg_crazy_callback_abort)
|
||||
return;
|
||||
|
|
@ -510,7 +510,7 @@ static Lisp_Object *volatile menu_item_selection;
|
|||
static void
|
||||
popup_selection_callback (GtkWidget *widget, gpointer client_data)
|
||||
{
|
||||
xg_menu_item_cb_data *cb_data = client_data;
|
||||
xg_menu_item_cb_data *cb_data = get_glib_user_data (client_data);
|
||||
|
||||
if (xg_crazy_callback_abort)
|
||||
return;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue