forked from AuroraMiddleware/gtk
API: gtk: Remove client_event vfunc from GtkWidget
Also remove the (de-facto unused) implementation from GtkWindow that was only used for sockets/plugs.
This commit is contained in:
parent
b52db73f59
commit
fac914d70c
@ -1209,23 +1209,6 @@ ensure_valid_themes (GtkIconTheme *icon_theme)
|
||||
if (was_valid)
|
||||
{
|
||||
g_signal_emit (icon_theme, signal_changed, 0);
|
||||
|
||||
if (!priv->check_reload && priv->screen)
|
||||
{
|
||||
static GdkAtom atom_iconthemes = GDK_NONE;
|
||||
GdkEvent *event = gdk_event_new (GDK_CLIENT_EVENT);
|
||||
int i;
|
||||
|
||||
if (!atom_iconthemes)
|
||||
atom_iconthemes = gdk_atom_intern_static_string ("_GTK_LOAD_ICONTHEMES");
|
||||
|
||||
for (i = 0; i < 5; i++)
|
||||
event->client.data.l[i] = 0;
|
||||
event->client.data_format = 32;
|
||||
event->client.message_type = atom_iconthemes;
|
||||
|
||||
gdk_screen_broadcast_client_message (priv->screen, event);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -34,7 +34,6 @@
|
||||
#include "gtkmainprivate.h"
|
||||
#include "gtkmarshalers.h"
|
||||
#include "gtksizerequest.h"
|
||||
#include "gtkwindowprivate.h"
|
||||
#include "gtkplug.h"
|
||||
#include "gtkprivate.h"
|
||||
#include "gtkdnd.h"
|
||||
@ -450,11 +449,6 @@ static void
|
||||
gtk_socket_end_embedding (GtkSocket *socket)
|
||||
{
|
||||
GtkSocketPrivate *private = socket->priv;
|
||||
GtkWidget *toplevel = gtk_widget_get_toplevel (GTK_WIDGET (socket));
|
||||
|
||||
if (GTK_IS_WINDOW (toplevel))
|
||||
_gtk_window_remove_embedded_xid (GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (socket))),
|
||||
GDK_WINDOW_XID (socket->priv->plug_window));
|
||||
|
||||
g_object_unref (private->plug_window);
|
||||
private->plug_window = NULL;
|
||||
@ -1064,7 +1058,6 @@ gtk_socket_add_window (GtkSocket *socket,
|
||||
}
|
||||
else /* A foreign window */
|
||||
{
|
||||
GtkWidget *toplevel;
|
||||
GdkDragProtocol protocol;
|
||||
|
||||
gdk_error_trap_push ();
|
||||
@ -1129,12 +1122,6 @@ gtk_socket_add_window (GtkSocket *socket,
|
||||
gtk_socket_filter_func,
|
||||
socket);
|
||||
|
||||
/* Add a pointer to the socket on our toplevel window */
|
||||
|
||||
toplevel = gtk_widget_get_toplevel (GTK_WIDGET (socket));
|
||||
if (GTK_IS_WINDOW (toplevel))
|
||||
_gtk_window_add_embedded_xid (GTK_WINDOW (toplevel), xid);
|
||||
|
||||
#ifdef HAVE_XFIXES
|
||||
gdk_error_trap_push ();
|
||||
XFixesChangeSaveSet (GDK_DISPLAY_XDISPLAY (gtk_widget_get_display (GTK_WIDGET (socket))),
|
||||
|
@ -429,7 +429,6 @@ enum {
|
||||
SELECTION_RECEIVED,
|
||||
PROXIMITY_IN_EVENT,
|
||||
PROXIMITY_OUT_EVENT,
|
||||
CLIENT_EVENT,
|
||||
VISIBILITY_NOTIFY_EVENT,
|
||||
WINDOW_STATE_EVENT,
|
||||
DAMAGE_EVENT,
|
||||
@ -2745,29 +2744,6 @@ gtk_widget_class_init (GtkWidgetClass *klass)
|
||||
G_TYPE_BOOLEAN, 1,
|
||||
GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE);
|
||||
|
||||
/**
|
||||
* GtkWidget::client-event:
|
||||
* @widget: the object which received the signal
|
||||
* @event: (type Gdk.EventClient): the #GdkEventClient which triggered
|
||||
* this signal.
|
||||
*
|
||||
* The ::client-event will be emitted when the @widget's window
|
||||
* receives a message (via a ClientMessage event) from another
|
||||
* application.
|
||||
*
|
||||
* Returns: %TRUE to stop other handlers from being invoked for
|
||||
* the event. %FALSE to propagate the event further.
|
||||
*/
|
||||
widget_signals[CLIENT_EVENT] =
|
||||
g_signal_new (I_("client-event"),
|
||||
G_TYPE_FROM_CLASS (klass),
|
||||
G_SIGNAL_RUN_LAST,
|
||||
G_STRUCT_OFFSET (GtkWidgetClass, client_event),
|
||||
_gtk_boolean_handled_accumulator, NULL,
|
||||
_gtk_marshal_BOOLEAN__BOXED,
|
||||
G_TYPE_BOOLEAN, 1,
|
||||
GDK_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE);
|
||||
|
||||
/**
|
||||
* GtkWidget::window-state-event:
|
||||
* @widget: the object which received the signal
|
||||
@ -6060,9 +6036,6 @@ gtk_widget_event_internal (GtkWidget *widget,
|
||||
case GDK_PROXIMITY_OUT:
|
||||
signal_num = PROXIMITY_OUT_EVENT;
|
||||
break;
|
||||
case GDK_CLIENT_EVENT:
|
||||
signal_num = CLIENT_EVENT;
|
||||
break;
|
||||
case GDK_EXPOSE:
|
||||
signal_num = EXPOSE_EVENT;
|
||||
break;
|
||||
|
@ -323,8 +323,6 @@ struct _GtkWidgetClass
|
||||
GdkEventProximity *event);
|
||||
gboolean (* visibility_notify_event) (GtkWidget *widget,
|
||||
GdkEventVisibility *event);
|
||||
gboolean (* client_event) (GtkWidget *widget,
|
||||
GdkEventClient *event);
|
||||
gboolean (* window_state_event) (GtkWidget *widget,
|
||||
GdkEventWindowState *event);
|
||||
gboolean (* damage_event) (GtkWidget *widget,
|
||||
|
109
gtk/gtkwindow.c
109
gtk/gtkwindow.c
@ -336,8 +336,6 @@ static gint gtk_window_focus_in_event (GtkWidget *widget,
|
||||
static gint gtk_window_focus_out_event (GtkWidget *widget,
|
||||
GdkEventFocus *event);
|
||||
static void gtk_window_style_updated (GtkWidget *widget);
|
||||
static gint gtk_window_client_event (GtkWidget *widget,
|
||||
GdkEventClient *event);
|
||||
static gboolean gtk_window_state_event (GtkWidget *widget,
|
||||
GdkEventWindowState *event);
|
||||
static void gtk_window_check_resize (GtkContainer *container);
|
||||
@ -575,7 +573,6 @@ gtk_window_class_init (GtkWindowClass *klass)
|
||||
widget_class->focus_in_event = gtk_window_focus_in_event;
|
||||
widget_class->button_press_event = gtk_window_button_press_event;
|
||||
widget_class->focus_out_event = gtk_window_focus_out_event;
|
||||
widget_class->client_event = gtk_window_client_event;
|
||||
widget_class->focus = gtk_window_focus;
|
||||
widget_class->move_focus = gtk_window_move_focus;
|
||||
widget_class->draw = gtk_window_draw;
|
||||
@ -2294,52 +2291,6 @@ gtk_window_list_toplevels (void)
|
||||
return list;
|
||||
}
|
||||
|
||||
#ifdef GDK_WINDOWING_X11
|
||||
void
|
||||
_gtk_window_add_embedded_xid (GtkWindow *window, Window xid)
|
||||
{
|
||||
GList *embedded_windows;
|
||||
|
||||
g_return_if_fail (GTK_IS_WINDOW (window));
|
||||
|
||||
embedded_windows = g_object_get_qdata (G_OBJECT (window), quark_gtk_embedded);
|
||||
if (embedded_windows)
|
||||
g_object_steal_qdata (G_OBJECT (window), quark_gtk_embedded);
|
||||
embedded_windows = g_list_prepend (embedded_windows,
|
||||
GDK_XID_TO_POINTER (xid));
|
||||
|
||||
g_object_set_qdata_full (G_OBJECT (window), quark_gtk_embedded,
|
||||
embedded_windows,
|
||||
embedded_windows ?
|
||||
(GDestroyNotify) g_list_free : NULL);
|
||||
}
|
||||
|
||||
void
|
||||
_gtk_window_remove_embedded_xid (GtkWindow *window, Window xid)
|
||||
{
|
||||
GList *embedded_windows;
|
||||
GList *node;
|
||||
|
||||
g_return_if_fail (GTK_IS_WINDOW (window));
|
||||
|
||||
embedded_windows = g_object_get_qdata (G_OBJECT (window), quark_gtk_embedded);
|
||||
if (embedded_windows)
|
||||
g_object_steal_qdata (G_OBJECT (window), quark_gtk_embedded);
|
||||
|
||||
node = g_list_find (embedded_windows, GDK_XID_TO_POINTER (xid));
|
||||
if (node)
|
||||
{
|
||||
embedded_windows = g_list_remove_link (embedded_windows, node);
|
||||
g_list_free_1 (node);
|
||||
}
|
||||
|
||||
g_object_set_qdata_full (G_OBJECT (window), quark_gtk_embedded,
|
||||
embedded_windows,
|
||||
embedded_windows ?
|
||||
(GDestroyNotify) g_list_free : NULL);
|
||||
}
|
||||
#endif
|
||||
|
||||
static void
|
||||
gtk_window_dispose (GObject *object)
|
||||
{
|
||||
@ -5914,66 +5865,6 @@ gtk_window_focus_out_event (GtkWidget *widget,
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
#ifdef GDK_WINDOWING_X11
|
||||
static GdkAtom atom_rcfiles = GDK_NONE;
|
||||
static GdkAtom atom_iconthemes = GDK_NONE;
|
||||
|
||||
static void
|
||||
send_client_message_to_embedded_windows (GtkWidget *widget,
|
||||
GdkAtom message_type)
|
||||
{
|
||||
GList *embedded_windows;
|
||||
|
||||
embedded_windows = g_object_get_qdata (G_OBJECT (widget), quark_gtk_embedded);
|
||||
if (embedded_windows)
|
||||
{
|
||||
GdkEvent *send_event = gdk_event_new (GDK_CLIENT_EVENT);
|
||||
int i;
|
||||
|
||||
for (i = 0; i < 5; i++)
|
||||
send_event->client.data.l[i] = 0;
|
||||
send_event->client.data_format = 32;
|
||||
send_event->client.message_type = message_type;
|
||||
|
||||
while (embedded_windows)
|
||||
{
|
||||
Window xid = GDK_POINTER_TO_XID (embedded_windows->data);
|
||||
gdk_event_send_client_message_for_display (gtk_widget_get_display (widget), send_event, xid);
|
||||
embedded_windows = embedded_windows->next;
|
||||
}
|
||||
|
||||
gdk_event_free (send_event);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
static gint
|
||||
gtk_window_client_event (GtkWidget *widget,
|
||||
GdkEventClient *event)
|
||||
{
|
||||
#ifdef GDK_WINDOWING_X11
|
||||
if (!atom_rcfiles)
|
||||
{
|
||||
atom_rcfiles = gdk_atom_intern_static_string ("_GTK_READ_RCFILES");
|
||||
atom_iconthemes = gdk_atom_intern_static_string ("_GTK_LOAD_ICONTHEMES");
|
||||
}
|
||||
|
||||
if (event->message_type == atom_rcfiles)
|
||||
{
|
||||
send_client_message_to_embedded_windows (widget, atom_rcfiles);
|
||||
gtk_style_context_reset_widgets (gtk_widget_get_screen (widget));
|
||||
}
|
||||
|
||||
if (event->message_type == atom_iconthemes)
|
||||
{
|
||||
send_client_message_to_embedded_windows (widget, atom_iconthemes);
|
||||
_gtk_icon_theme_check_reload (gtk_widget_get_display (widget));
|
||||
}
|
||||
#endif
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static void
|
||||
gtk_window_check_resize (GtkContainer *container)
|
||||
{
|
||||
|
@ -22,9 +22,6 @@
|
||||
#define __GTK_WINDOW_PRIVATE_H__
|
||||
|
||||
#include <gdk/gdk.h>
|
||||
#ifdef GDK_WINDOWING_X11
|
||||
#include <gdk/gdkx.h>
|
||||
#endif
|
||||
|
||||
#include "gtkwindow.h"
|
||||
|
||||
@ -32,12 +29,6 @@ G_BEGIN_DECLS
|
||||
|
||||
void _gtk_window_internal_set_focus (GtkWindow *window,
|
||||
GtkWidget *focus);
|
||||
#ifdef GDK_WINDOWING_X11
|
||||
void _gtk_window_remove_embedded_xid(GtkWindow *window,
|
||||
Window xid);
|
||||
void _gtk_window_add_embedded_xid (GtkWindow *window,
|
||||
Window xid);
|
||||
#endif
|
||||
void _gtk_window_reposition (GtkWindow *window,
|
||||
gint x,
|
||||
gint y);
|
||||
|
Loading…
Reference in New Issue
Block a user