[gtk+] gdk: Remove properties
- From: Benjamin Otte <otte src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] gdk: Remove properties
- Date: Thu, 14 Dec 2017 03:13:29 +0000 (UTC)
commit f2bb2024c87dae1ce655154fb5bea0eb07cef48c
Author: Benjamin Otte <otte redhat com>
Date: Thu Dec 14 03:01:59 2017 +0100
gdk: Remove properties
They are not used anymore.
Gone with them are PropertyNotify events.
docs/reference/gdk/gdk4-sections.txt | 8 -
gdk/broadway/gdkprivate-broadway.h | 19 --
gdk/broadway/gdkproperty-broadway.c | 67 -------
gdk/broadway/gdkwindow-broadway.c | 3 -
gdk/broadway/meson.build | 1 -
gdk/gdkevents.c | 29 ---
gdk/gdkevents.h | 21 ---
gdk/gdkeventsprivate.h | 22 ---
gdk/gdkproperty.h | 40 ----
gdk/gdkwindow.c | 118 ------------
gdk/gdkwindowimpl.h | 20 --
gdk/mir/gdkmirwindowimpl.c | 330 ----------------------------------
gdk/quartz/gdkproperty-quartz.c | 184 -------------------
gdk/quartz/gdkwindow-quartz.c | 3 -
gdk/quartz/meson.build | 1 -
gdk/wayland/gdkprivate-wayland.h | 21 ---
gdk/wayland/gdkselection-wayland.c | 171 ------------------
gdk/wayland/gdkwindow-wayland.c | 37 ----
gdk/win32/gdkprivate-win32.h | 22 ---
gdk/win32/gdkproperty-win32.c | 127 -------------
gdk/win32/gdkwindow-win32.c | 3 -
gdk/x11/gdkdisplay-x11.c | 12 +--
gdk/x11/gdkprivate-x11.h | 20 --
gdk/x11/gdkproperty-x11.c | 224 -----------------------
gdk/x11/gdkwindow-x11.c | 3 -
gtk/gtkmain.c | 1 -
gtk/gtkwidget.c | 33 ----
gtk/gtkwidget.h | 2 -
28 files changed, 1 insertions(+), 1541 deletions(-)
---
diff --git a/docs/reference/gdk/gdk4-sections.txt b/docs/reference/gdk/gdk4-sections.txt
index 0132380..5997eeb 100644
--- a/docs/reference/gdk/gdk4-sections.txt
+++ b/docs/reference/gdk/gdk4-sections.txt
@@ -49,7 +49,6 @@ gdk_input_source_get_type
gdk_modifier_intent_get_type
gdk_modifier_type_get_type
gdk_notify_type_get_type
-gdk_property_state_get_type
gdk_prop_mode_get_type
gdk_scroll_direction_get_type
gdk_setting_action_get_type
@@ -417,13 +416,6 @@ gdk_utf8_to_string_target
gdk_atom_intern
gdk_atom_intern_static_string
gdk_atom_name
-gdk_property_get
-gdk_property_change
-GdkPropMode
-gdk_property_delete
-
-<SUBSECTION Standard>
-GDK_TYPE_PROP_MODE
</SECTION>
<SECTION>
diff --git a/gdk/broadway/gdkprivate-broadway.h b/gdk/broadway/gdkprivate-broadway.h
index 3cdc55e..161d033 100644
--- a/gdk/broadway/gdkprivate-broadway.h
+++ b/gdk/broadway/gdkprivate-broadway.h
@@ -57,25 +57,6 @@ void _gdk_broadway_window_translate (GdkWindow *window,
cairo_region_t *area,
gint dx,
gint dy);
-gboolean _gdk_broadway_window_get_property (GdkWindow *window,
- GdkAtom property,
- GdkAtom type,
- gulong offset,
- gulong length,
- gint pdelete,
- GdkAtom *actual_property_type,
- gint *actual_format_type,
- gint *actual_length,
- guchar **data);
-void _gdk_broadway_window_change_property (GdkWindow *window,
- GdkAtom property,
- GdkAtom type,
- gint format,
- GdkPropMode mode,
- const guchar *data,
- gint nelements);
-void _gdk_broadway_window_delete_property (GdkWindow *window,
- GdkAtom property);
gboolean _gdk_broadway_moveresize_handle_event (GdkDisplay *display,
BroadwayInputMsg *msg);
gboolean _gdk_broadway_moveresize_configure_done (GdkDisplay *display,
diff --git a/gdk/broadway/gdkwindow-broadway.c b/gdk/broadway/gdkwindow-broadway.c
index 89d79b8..12fb525 100644
--- a/gdk/broadway/gdkwindow-broadway.c
+++ b/gdk/broadway/gdkwindow-broadway.c
@@ -1425,7 +1425,4 @@ gdk_window_impl_broadway_class_init (GdkWindowImplBroadwayClass *klass)
impl_class->destroy_notify = gdk_broadway_window_destroy_notify;
impl_class->register_dnd = _gdk_broadway_window_register_dnd;
impl_class->drag_begin = _gdk_broadway_window_drag_begin;
- impl_class->get_property = _gdk_broadway_window_get_property;
- impl_class->change_property = _gdk_broadway_window_change_property;
- impl_class->delete_property = _gdk_broadway_window_delete_property;
}
diff --git a/gdk/broadway/meson.build b/gdk/broadway/meson.build
index c1c0f72..614a623 100644
--- a/gdk/broadway/meson.build
+++ b/gdk/broadway/meson.build
@@ -11,7 +11,6 @@ gdk_broadway_sources = files([
'gdkglobals-broadway.c',
'gdkkeys-broadway.c',
'gdkmonitor-broadway.c',
- 'gdkproperty-broadway.c',
'gdkselection-broadway.c',
'gdkwindow-broadway.c',
])
diff --git a/gdk/gdkevents.c b/gdk/gdkevents.c
index 823b394..db702b2 100644
--- a/gdk/gdkevents.c
+++ b/gdk/gdkevents.c
@@ -838,8 +838,6 @@ gdk_event_get_time (const GdkEvent *event)
case GDK_ENTER_NOTIFY:
case GDK_LEAVE_NOTIFY:
return event->crossing.time;
- case GDK_PROPERTY_NOTIFY:
- return event->property.time;
case GDK_PROXIMITY_IN:
case GDK_PROXIMITY_OUT:
return event->proximity.time;
@@ -930,7 +928,6 @@ gdk_event_get_state (const GdkEvent *event,
case GDK_LEAVE_NOTIFY:
*state = event->crossing.state;
return TRUE;
- case GDK_PROPERTY_NOTIFY:
case GDK_CLIENT_EVENT:
case GDK_CONFIGURE:
case GDK_FOCUS_CHANGE:
@@ -2604,32 +2601,6 @@ gdk_event_get_pad_axis_value (const GdkEvent *event,
}
/**
- * gdk_event_get_property:
- * @event: a #GdkEvent
- * @property: (out):
- * @state: (out):
- *
- * Returns: %TRUE on success, otherwise %FALSE
- **/
-gboolean
-gdk_event_get_property (const GdkEvent *event,
- GdkAtom *property,
- GdkPropertyState *state)
-{
- if (!event)
- return FALSE;
-
- if (event->any.type == GDK_PROPERTY_NOTIFY)
- {
- *property = event->property.atom;
- *state = event->property.state;
- return TRUE;
- }
-
- return FALSE;
-}
-
-/**
* gdk_event_get_axes:
* @event: a #GdkEvent
* @axes: (transfer none) (out) (array length=n_axes): the array of values for all axes
diff --git a/gdk/gdkevents.h b/gdk/gdkevents.h
index 65a00cc..cbb0ca7 100644
--- a/gdk/gdkevents.h
+++ b/gdk/gdkevents.h
@@ -135,8 +135,6 @@ typedef struct _GdkEventKey GdkEventKey;
typedef struct _GdkEventFocus GdkEventFocus;
typedef struct _GdkEventCrossing GdkEventCrossing;
typedef struct _GdkEventConfigure GdkEventConfigure;
-typedef struct _GdkEventProperty GdkEventProperty;
-typedef struct _GdkEventOwnerChange GdkEventOwnerChange;
typedef struct _GdkEventProximity GdkEventProximity;
typedef struct _GdkEventDND GdkEventDND;
typedef struct _GdkEventWindowState GdkEventWindowState;
@@ -234,7 +232,6 @@ typedef GdkFilterReturn (*GdkFilterFunc) (GdkXEvent *xevent,
* Note that GTK+ discards these events for %GDK_WINDOW_CHILD windows.
* @GDK_MAP: the window has been mapped.
* @GDK_UNMAP: the window has been unmapped.
- * @GDK_PROPERTY_NOTIFY: a property on the window has been changed or deleted.
* @GDK_PROXIMITY_IN: an input device has moved into contact with a sensing
* surface (e.g. a touchscreen or graphics tablet).
* @GDK_PROXIMITY_OUT: an input device has moved out of contact with a sensing
@@ -302,7 +299,6 @@ typedef enum
GDK_CONFIGURE = 13,
GDK_MAP = 14,
GDK_UNMAP = 15,
- GDK_PROPERTY_NOTIFY = 16,
GDK_PROXIMITY_IN = 20,
GDK_PROXIMITY_OUT = 21,
GDK_DRAG_ENTER = 22,
@@ -451,19 +447,6 @@ typedef enum
} GdkCrossingMode;
/**
- * GdkPropertyState:
- * @GDK_PROPERTY_NEW_VALUE: the property value was changed.
- * @GDK_PROPERTY_DELETE: the property was deleted.
- *
- * Specifies the type of a property change for a #GdkEventProperty.
- */
-typedef enum
-{
- GDK_PROPERTY_NEW_VALUE,
- GDK_PROPERTY_DELETE
-} GdkPropertyState;
-
-/**
* GdkWindowState:
* @GDK_WINDOW_STATE_WITHDRAWN: the window is not shown.
* @GDK_WINDOW_STATE_ICONIFIED: the window is minimized.
@@ -709,10 +692,6 @@ gboolean gdk_event_get_pad_axis_value (const GdkEvent *event,
guint *index,
gdouble *value);
GDK_AVAILABLE_IN_3_92
-gboolean gdk_event_get_property (const GdkEvent *event,
- GdkAtom *property,
- GdkPropertyState *state);
-GDK_AVAILABLE_IN_3_92
gboolean gdk_event_get_axes (GdkEvent *event,
gdouble **axes,
guint *n_axes);
diff --git a/gdk/gdkeventsprivate.h b/gdk/gdkeventsprivate.h
index b9fc789..feb6346 100644
--- a/gdk/gdkeventsprivate.h
+++ b/gdk/gdkeventsprivate.h
@@ -381,26 +381,6 @@ struct _GdkEventConfigure
};
/**
- * GdkEventProperty:
- * @type: the type of the event (%GDK_PROPERTY_NOTIFY).
- * @window: the window which received the event.
- * @send_event: %TRUE if the event was sent explicitly.
- * @atom: the property that was changed.
- * @time: the time of the event in milliseconds.
- * @state: (type GdkPropertyState): whether the property was changed
- * (%GDK_PROPERTY_NEW_VALUE) or deleted (%GDK_PROPERTY_DELETE).
- *
- * Describes a property change on a window.
- */
-struct _GdkEventProperty
-{
- GdkEventAny any;
- GdkAtom atom;
- guint32 time;
- guint state;
-};
-
-/**
* GdkEventProximity:
* @type: the type of the event (%GDK_PROXIMITY_IN or %GDK_PROXIMITY_OUT).
* @window: the window which received the event.
@@ -658,7 +638,6 @@ struct _GdkEventPadGroupMode {
* @crossing: a #GdkEventCrossing
* @focus_change: a #GdkEventFocus
* @configure: a #GdkEventConfigure
- * @property: a #GdkEventProperty
* @proximity: a #GdkEventProximity
* @dnd: a #GdkEventDND
* @window_state: a #GdkEventWindowState
@@ -712,7 +691,6 @@ union _GdkEvent
GdkEventCrossing crossing;
GdkEventFocus focus_change;
GdkEventConfigure configure;
- GdkEventProperty property;
GdkEventProximity proximity;
GdkEventDND dnd;
GdkEventWindowState window_state;
diff --git a/gdk/gdkproperty.h b/gdk/gdkproperty.h
index 85420e5..565ca98 100644
--- a/gdk/gdkproperty.h
+++ b/gdk/gdkproperty.h
@@ -35,23 +35,6 @@
G_BEGIN_DECLS
-/**
- * GdkPropMode:
- * @GDK_PROP_MODE_REPLACE: the new data replaces the existing data.
- * @GDK_PROP_MODE_PREPEND: the new data is prepended to the existing data.
- * @GDK_PROP_MODE_APPEND: the new data is appended to the existing data.
- *
- * Describes how existing data is combined with new data when
- * using gdk_property_change().
- */
-typedef enum
-{
- GDK_PROP_MODE_REPLACE,
- GDK_PROP_MODE_PREPEND,
- GDK_PROP_MODE_APPEND
-} GdkPropMode;
-
-
GDK_AVAILABLE_IN_ALL
GdkAtom gdk_atom_intern (const gchar *atom_name,
gboolean only_if_exists);
@@ -62,29 +45,6 @@ gchar* gdk_atom_name (GdkAtom atom);
GDK_AVAILABLE_IN_ALL
-gboolean gdk_property_get (GdkWindow *window,
- GdkAtom property,
- GdkAtom type,
- gulong offset,
- gulong length,
- gint pdelete,
- GdkAtom *actual_property_type,
- gint *actual_format,
- gint *actual_length,
- guchar **data);
-GDK_AVAILABLE_IN_ALL
-void gdk_property_change (GdkWindow *window,
- GdkAtom property,
- GdkAtom type,
- gint format,
- GdkPropMode mode,
- const guchar *data,
- gint nelements);
-GDK_AVAILABLE_IN_ALL
-void gdk_property_delete (GdkWindow *window,
- GdkAtom property);
-
-GDK_AVAILABLE_IN_ALL
gint gdk_text_property_to_utf8_list_for_display (GdkDisplay *display,
GdkAtom encoding,
gint format,
diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c
index c65c34e..e6f9fa3 100644
--- a/gdk/gdkwindow.c
+++ b/gdk/gdkwindow.c
@@ -5463,11 +5463,6 @@ _gdk_make_event (GdkWindow *window,
event->crossing.state = the_state;
break;
- case GDK_PROPERTY_NOTIFY:
- event->property.time = the_time;
- event->property.state = the_state;
- break;
-
case GDK_PROXIMITY_IN:
case GDK_PROXIMITY_OUT:
event->proximity.time = the_time;
@@ -6906,119 +6901,6 @@ gdk_drag_begin (GdkWindow *window,
return GDK_WINDOW_IMPL_GET_CLASS (window->impl)->drag_begin (window, device, content, actions, dx, dy);
}
-/**
- * gdk_property_get:
- * @window: a #GdkWindow
- * @property: the property to retrieve
- * @type: the desired property type, or %NULL, if any type of data
- * is acceptable. If this does not match the actual
- * type, then @actual_format and @actual_length will
- * be filled in, a warning will be printed to stderr
- * and no data will be returned.
- * @offset: the offset into the property at which to begin
- * retrieving data, in 4 byte units.
- * @length: the length of the data to retrieve in bytes. Data is
- * considered to be retrieved in 4 byte chunks, so @length
- * will be rounded up to the next highest 4 byte boundary
- * (so be careful not to pass a value that might overflow
- * when rounded up).
- * @pdelete: if %TRUE, delete the property after retrieving the
- * data.
- * @actual_property_type: (out) (transfer none): location to store the
- * actual type of the property.
- * @actual_format: (out): location to store the actual return format of the
- * data; either 8, 16 or 32 bits.
- * @actual_length: location to store the length of the retrieved data, in
- * bytes. Data returned in the 32 bit format is stored
- * in a long variable, so the actual number of 32 bit
- * elements should be be calculated via
- * @actual_length / sizeof(glong) to ensure portability to
- * 64 bit systems.
- * @data: (out) (array length=actual_length) (transfer full): location
- * to store a pointer to the data. The retrieved data should be
- * freed with g_free() when you are finished using it.
- *
- * Retrieves a portion of the contents of a property. If the
- * property does not exist, then the function returns %FALSE,
- * and %NULL will be stored in @actual_property_type.
- *
- * The XGetWindowProperty() function that gdk_property_get()
- * uses has a very confusing and complicated set of semantics.
- * Unfortunately, gdk_property_get() makes the situation
- * worse instead of better (the semantics should be considered
- * undefined), and also prints warnings to stderr in cases where it
- * should return a useful error to the program. You are advised to use
- * XGetWindowProperty() directly until a replacement function for
- * gdk_property_get() is provided.
- *
- * Returns: %TRUE if data was successfully received and stored
- * in @data, otherwise %FALSE.
- */
-gboolean
-gdk_property_get (GdkWindow *window,
- GdkAtom property,
- GdkAtom type,
- gulong offset,
- gulong length,
- gint pdelete,
- GdkAtom *actual_property_type,
- gint *actual_format_type,
- gint *actual_length,
- guchar **data)
-{
- return GDK_WINDOW_IMPL_GET_CLASS (window->impl)
- ->get_property (window, property, type, offset, length, pdelete,
- actual_property_type, actual_format_type,
- actual_length, data);
-}
-
-/**
- * gdk_property_change: (skip)
- * @window: a #GdkWindow
- * @property: the property to change
- * @type: the new type for the property. If @mode is
- * %GDK_PROP_MODE_PREPEND or %GDK_PROP_MODE_APPEND, then this
- * must match the existing type or an error will occur.
- * @format: the new format for the property. If @mode is
- * %GDK_PROP_MODE_PREPEND or %GDK_PROP_MODE_APPEND, then this
- * must match the existing format or an error will occur.
- * @mode: a value describing how the new data is to be combined
- * with the current data.
- * @data: the data (a `guchar *`
- * `gushort *`, or `gulong *`,
- * depending on @format), cast to a `guchar *`.
- * @nelements: the number of elements of size determined by the format,
- * contained in @data.
- *
- * Changes the contents of a property on a window.
- */
-void
-gdk_property_change (GdkWindow *window,
- GdkAtom property,
- GdkAtom type,
- gint format,
- GdkPropMode mode,
- const guchar *data,
- gint nelements)
-{
- GDK_WINDOW_IMPL_GET_CLASS (window->impl)
- ->change_property (window, property, type, format, mode, data, nelements);
-}
-
-/**
- * gdk_property_delete:
- * @window: a #GdkWindow
- * @property: the property to delete
- *
- * Deletes a property from a window.
- */
-void
-gdk_property_delete (GdkWindow *window,
- GdkAtom property)
-{
- GDK_WINDOW_IMPL_GET_CLASS (window->impl)->delete_property (window, property);
-}
-
static void
gdk_window_flush_events (GdkFrameClock *clock,
void *data)
diff --git a/gdk/gdkwindowimpl.h b/gdk/gdkwindowimpl.h
index 4383b84..2185b6a 100644
--- a/gdk/gdkwindowimpl.h
+++ b/gdk/gdkwindowimpl.h
@@ -227,26 +227,6 @@ struct _GdkWindowImplClass
void (*process_updates_recurse) (GdkWindow *window,
cairo_region_t *region);
- gboolean (*get_property) (GdkWindow *window,
- GdkAtom property,
- GdkAtom type,
- gulong offset,
- gulong length,
- gint pdelete,
- GdkAtom *actual_type,
- gint *actual_format,
- gint *actual_length,
- guchar **data);
- void (*change_property) (GdkWindow *window,
- GdkAtom property,
- GdkAtom type,
- gint format,
- GdkPropMode mode,
- const guchar *data,
- gint n_elements);
- void (*delete_property) (GdkWindow *window,
- GdkAtom property);
-
gint (* get_scale_factor) (GdkWindow *window);
void (* get_unscaled_size) (GdkWindow *window,
int *unscaled_width,
diff --git a/gdk/mir/gdkmirwindowimpl.c b/gdk/mir/gdkmirwindowimpl.c
index a820170..910c5df 100644
--- a/gdk/mir/gdkmirwindowimpl.c
+++ b/gdk/mir/gdkmirwindowimpl.c
@@ -36,45 +36,12 @@
#define MAX_EGL_ATTRS 30
-typedef struct
-{
- GdkAtom type;
- GArray *array;
-} GdkMirProperty;
-
-static GdkMirProperty *
-gdk_mir_property_new (GdkAtom type,
- guint format,
- guint capacity)
-{
- GdkMirProperty *property = g_slice_new (GdkMirProperty);
-
- property->type = type;
- property->array = g_array_sized_new (TRUE, FALSE, format, capacity);
-
- return property;
-}
-
-static void
-gdk_mir_property_free (gpointer data)
-{
- GdkMirProperty *property = data;
-
- if (!property)
- return;
-
- g_array_unref (property->array);
- g_slice_free (GdkMirProperty, property);
-}
-
typedef struct _GdkMirWindowImplClass GdkMirWindowImplClass;
struct _GdkMirWindowImpl
{
GdkWindowImpl parent_instance;
- GHashTable *properties;
-
/* Window we are temporary for */
GdkWindow *transient_for;
gint transient_x;
@@ -263,7 +230,6 @@ _gdk_mir_window_impl_get_cursor_state (GdkMirWindowImpl *impl,
static void
gdk_mir_window_impl_init (GdkMirWindowImpl *impl)
{
- impl->properties = g_hash_table_new_full (NULL, NULL, NULL, gdk_mir_property_free);
impl->type_hint = GDK_WINDOW_TYPE_HINT_NORMAL;
impl->window_state = mir_window_state_unknown;
impl->output_scale = 1;
@@ -808,7 +774,6 @@ gdk_mir_window_impl_finalize (GObject *object)
g_clear_pointer (&impl->mir_window, mir_window_release_sync);
g_clear_pointer (&impl->cairo_surface, cairo_surface_destroy);
- g_clear_pointer (&impl->properties, g_hash_table_unref);
G_OBJECT_CLASS (gdk_mir_window_impl_parent_class)->finalize (object);
}
@@ -1690,298 +1655,6 @@ gdk_mir_window_impl_process_updates_recurse (GdkWindow *window,
_gdk_window_process_updates_recurse (window, region);
}
-static gboolean
-gdk_mir_window_impl_get_property (GdkWindow *window,
- GdkAtom property,
- GdkAtom type,
- gulong offset,
- gulong length,
- gint pdelete,
- GdkAtom *actual_type,
- gint *actual_format,
- gint *actual_length,
- guchar **data)
-{
- GdkMirWindowImpl *impl = GDK_MIR_WINDOW_IMPL (window->impl);
- GdkMirProperty *mir_property;
- GdkAtom dummy_actual_type;
- gint dummy_actual_format;
- gint dummy_actual_length;
- guint width;
-
- if (!actual_type)
- actual_type = &dummy_actual_type;
- if (!actual_format)
- actual_format = &dummy_actual_format;
- if (!actual_length)
- actual_length = &dummy_actual_length;
-
- *actual_type = NULL;
- *actual_format = 0;
- *actual_length = 0;
-
- if (data)
- *data = NULL;
-
- mir_property = g_hash_table_lookup (impl->properties, property);
-
- if (!mir_property)
- return FALSE;
-
- width = g_array_get_element_size (mir_property->array);
- *actual_type = mir_property->type;
- *actual_format = 8 * width;
-
- /* ICCCM 2.7: GdkAtoms can be 64-bit, but ATOMs and ATOM_PAIRs have format 32 */
- if (*actual_type == GDK_SELECTION_TYPE_ATOM || *actual_type == gdk_atom_intern_static_string ("ATOM_PAIR"))
- *actual_format = 32;
-
- if (type != NULL && type != mir_property->type)
- return FALSE;
-
- offset *= 4;
-
- /* round up to next nearest multiple of width */
- if (length < G_MAXULONG - width + 1)
- length = (length - 1 + width) / width * width;
- else
- length = G_MAXULONG / width * width;
-
- /* we're skipping the first offset bytes */
- if (length > mir_property->array->len * width - offset)
- length = mir_property->array->len * width - offset;
-
- /* leave room for null terminator */
- if (length > G_MAXULONG - width)
- length -= width;
-
- *actual_length = length;
-
- if (data)
- {
- *data = g_memdup (mir_property->array->data + offset, length + width);
- memset (*data + length, 0, width);
- }
-
- return TRUE;
-}
-
-static void
-request_targets (GdkWindow *window,
- const GdkAtom *available_targets,
- gint n_available_targets)
-{
- GArray *requested_targets;
- GdkAtom target_pair[2];
- gchar *target_location;
- GdkEvent *event;
- gint i;
-
- requested_targets = g_array_sized_new (TRUE, FALSE, sizeof (GdkAtom), 2 * n_available_targets);
-
- for (i = 0; i < n_available_targets; i++)
- {
- target_pair[0] = available_targets[i];
-
- if (target_pair[0] == gdk_atom_intern_static_string ("TIMESTAMP") ||
- target_pair[0] == gdk_atom_intern_static_string ("TARGETS") ||
- target_pair[0] == gdk_atom_intern_static_string ("MULTIPLE") ||
- target_pair[0] == gdk_atom_intern_static_string ("SAVE_TARGETS"))
- continue;
-
- target_location = g_strdup_printf ("REQUESTED_TARGET_U%u", requested_targets->len / 2);
- target_pair[1] = gdk_atom_intern (target_location, FALSE);
- g_free (target_location);
-
- g_array_append_vals (requested_targets, target_pair, 2);
- }
-
- gdk_property_delete (window, gdk_atom_intern_static_string ("AVAILABLE_TARGETS"));
- gdk_property_delete (window, gdk_atom_intern_static_string ("REQUESTED_TARGETS"));
-
- gdk_property_change (window,
- gdk_atom_intern_static_string ("REQUESTED_TARGETS"),
- GDK_SELECTION_TYPE_ATOM,
- 8 * sizeof (GdkAtom),
- GDK_PROP_MODE_REPLACE,
- (const guchar *) requested_targets->data,
- requested_targets->len);
-
- g_array_unref (requested_targets);
-
- event = gdk_event_new (GDK_SELECTION_REQUEST);
- event->selection.window = g_object_ref (window);
- event->selection.send_event = FALSE;
- event->selection.selection = GDK_SELECTION_CLIPBOARD;
- event->selection.target = gdk_atom_intern_static_string ("MULTIPLE");
- event->selection.property = gdk_atom_intern_static_string ("REQUESTED_TARGETS");
- event->selection.time = GDK_CURRENT_TIME;
- event->selection.requestor = g_object_ref (window);
-
- gdk_event_put (event);
- gdk_event_free (event);
-}
-
-static void
-create_paste (GdkWindow *window,
- const GdkAtom *requested_targets,
- gint n_requested_targets)
-{
- GdkMirWindowImpl *impl = GDK_MIR_WINDOW_IMPL (window->impl);
- GPtrArray *paste_formats;
- GArray *paste_header;
- GByteArray *paste_data;
- gint sizes[4];
- GdkMirProperty *mir_property;
- const gchar *paste_format;
- gint i;
-
- paste_formats = g_ptr_array_new_full (n_requested_targets, g_free);
- paste_header = g_array_sized_new (FALSE, FALSE, sizeof (gint), 1 + 4 * n_requested_targets);
- paste_data = g_byte_array_new ();
-
- g_array_append_val (paste_header, sizes[0]);
-
- for (i = 0; i < n_requested_targets; i++)
- {
- if (requested_targets[i] == NULL)
- continue;
-
- mir_property = g_hash_table_lookup (impl->properties, requested_targets[i]);
-
- if (!mir_property)
- continue;
-
- paste_format = _gdk_atom_name_const (mir_property->type);
-
- /* skip non-MIME targets */
- if (!strchr (paste_format, '/'))
- {
- g_hash_table_remove (impl->properties, requested_targets[i]);
- continue;
- }
-
- sizes[0] = paste_data->len;
- sizes[1] = strlen (paste_format);
- sizes[2] = sizes[0] + sizes[1];
- sizes[3] = mir_property->array->len * g_array_get_element_size (mir_property->array);
-
- g_ptr_array_add (paste_formats, g_strdup (paste_format));
- g_array_append_vals (paste_header, sizes, 4);
- g_byte_array_append (paste_data, (const guint8 *) paste_format, sizes[1]);
- g_byte_array_append (paste_data, (const guint8 *) mir_property->array->data, sizes[3]);
-
- g_hash_table_remove (impl->properties, requested_targets[i]);
- }
-
- gdk_property_delete (window, gdk_atom_intern_static_string ("REQUESTED_TARGETS"));
-
- g_array_index (paste_header, gint, 0) = paste_formats->len;
-
- for (i = 0; i < paste_formats->len; i++)
- {
- g_array_index (paste_header, gint, 1 + 4 * i) += paste_header->len * sizeof (gint);
- g_array_index (paste_header, gint, 3 + 4 * i) += paste_header->len * sizeof (gint);
- }
-
- g_byte_array_prepend (paste_data,
- (const guint8 *) paste_header->data,
- paste_header->len * g_array_get_element_size (paste_header));
-
- g_ptr_array_add (paste_formats, NULL);
-
- _gdk_mir_display_create_paste (gdk_window_get_display (window),
- (const gchar * const *) paste_formats->pdata,
- paste_data->data,
- paste_data->len);
-
- g_byte_array_unref (paste_data);
- g_array_unref (paste_header);
- g_ptr_array_unref (paste_formats);
-}
-
-static void
-gdk_mir_window_impl_change_property (GdkWindow *window,
- GdkAtom property,
- GdkAtom type,
- gint format,
- GdkPropMode mode,
- const guchar *data,
- gint n_elements)
-{
- GdkMirWindowImpl *impl = GDK_MIR_WINDOW_IMPL (window->impl);
- GdkMirProperty *mir_property;
- gboolean existed;
- GdkEvent *event;
-
- /* ICCCM 2.7: ATOMs and ATOM_PAIRs have format 32, but GdkAtoms can be 64-bit */
- if (type == GDK_SELECTION_TYPE_ATOM || type == gdk_atom_intern_static_string ("ATOM_PAIR"))
- format = 8 * sizeof (GdkAtom);
-
- if (mode != GDK_PROP_MODE_REPLACE)
- {
- mir_property = g_hash_table_lookup (impl->properties, property);
- existed = mir_property != NULL;
- }
- else
- {
- mir_property = NULL;
- existed = g_hash_table_contains (impl->properties, property);
- }
-
- if (!mir_property)
- {
- /* format is measured in bits, but we need to know this in bytes */
- mir_property = gdk_mir_property_new (type, format / 8, n_elements);
- g_hash_table_insert (impl->properties, property, mir_property);
- }
-
- /* format is measured in bits, but we need to know this in bytes */
- if (type != mir_property->type || format / 8 != g_array_get_element_size (mir_property->array))
- return;
-
- if (mode == GDK_PROP_MODE_PREPEND)
- g_array_prepend_vals (mir_property->array, data, n_elements);
- else
- g_array_append_vals (mir_property->array, data, n_elements);
-
- event = gdk_event_new (GDK_PROPERTY_NOTIFY);
- event->property.window = g_object_ref (window);
- event->property.send_event = FALSE;
- event->property.atom = property;
- event->property.time = GDK_CURRENT_TIME;
- event->property.state = GDK_PROPERTY_NEW_VALUE;
-
- gdk_event_put (event);
- gdk_event_free (event);
-
- if (property == gdk_atom_intern_static_string ("AVAILABLE_TARGETS"))
- request_targets (window, (const GdkAtom *) data, n_elements);
- else if (property == gdk_atom_intern_static_string ("REQUESTED_TARGETS") && existed)
- create_paste (window, (const GdkAtom *) data, n_elements);
-}
-
-static void
-gdk_mir_window_impl_delete_property (GdkWindow *window,
- GdkAtom property)
-{
- GdkMirWindowImpl *impl = GDK_MIR_WINDOW_IMPL (window->impl);
- GdkEvent *event;
-
- if (g_hash_table_remove (impl->properties, property))
- {
- event = gdk_event_new (GDK_PROPERTY_NOTIFY);
- event->property.window = g_object_ref (window);
- event->property.send_event = FALSE;
- event->property.atom = property;
- event->property.time = GDK_CURRENT_TIME;
- event->property.state = GDK_PROPERTY_DELETE;
-
- gdk_event_put (event);
- gdk_event_free (event);
- }
-}
-
static gint
gdk_mir_window_impl_get_scale_factor (GdkWindow *window)
{
@@ -2268,9 +1941,6 @@ gdk_mir_window_impl_class_init (GdkMirWindowImplClass *klass)
impl_class->register_dnd = gdk_mir_window_impl_register_dnd;
impl_class->drag_begin = gdk_mir_window_impl_drag_begin;
impl_class->process_updates_recurse = gdk_mir_window_impl_process_updates_recurse;
- impl_class->get_property = gdk_mir_window_impl_get_property;
- impl_class->change_property = gdk_mir_window_impl_change_property;
- impl_class->delete_property = gdk_mir_window_impl_delete_property;
impl_class->get_scale_factor = gdk_mir_window_impl_get_scale_factor;
impl_class->set_opaque_region = gdk_mir_window_impl_set_opaque_region;
impl_class->set_shadow_width = gdk_mir_window_impl_set_shadow_width;
diff --git a/gdk/quartz/gdkwindow-quartz.c b/gdk/quartz/gdkwindow-quartz.c
index 1d5982b..d105612 100644
--- a/gdk/quartz/gdkwindow-quartz.c
+++ b/gdk/quartz/gdkwindow-quartz.c
@@ -2811,9 +2811,6 @@ gdk_window_impl_quartz_class_init (GdkWindowImplQuartzClass *klass)
impl_class->register_dnd = _gdk_quartz_window_register_dnd;
impl_class->drag_begin = _gdk_quartz_window_drag_begin;
impl_class->process_updates_recurse = _gdk_quartz_window_process_updates_recurse;
- impl_class->get_property = _gdk_quartz_window_get_property;
- impl_class->change_property = _gdk_quartz_window_change_property;
- impl_class->delete_property = _gdk_quartz_window_delete_property;
impl_class->create_gl_context = gdk_quartz_window_create_gl_context;
diff --git a/gdk/quartz/meson.build b/gdk/quartz/meson.build
index 0b01964..acacd79 100644
--- a/gdk/quartz/meson.build
+++ b/gdk/quartz/meson.build
@@ -13,7 +13,6 @@ gdk_quartz_sources = files([
'gdkglcontext-quartz.c',
'gdkglobals-quartz.c',
'gdkkeys-quartz.c',
- 'gdkproperty-quartz.c',
'gdkscreen-quartz.c',
'gdkselection-quartz.c',
'gdkutils-quartz.c',
diff --git a/gdk/wayland/gdkprivate-wayland.h b/gdk/wayland/gdkprivate-wayland.h
index b35a02f..afd2a2b 100644
--- a/gdk/wayland/gdkprivate-wayland.h
+++ b/gdk/wayland/gdkprivate-wayland.h
@@ -129,22 +129,6 @@ void _gdk_wayland_display_create_window_impl (GdkDisplay *display,
GdkEventMask event_mask,
GdkWindowAttr *attributes);
-void _gdk_wayland_display_send_selection_notify (GdkDisplay *dispay,
- GdkWindow *requestor,
- GdkAtom selection,
- GdkAtom target,
- GdkAtom property,
- guint32 time);
-gint _gdk_wayland_display_get_selection_property (GdkDisplay *display,
- GdkWindow *requestor,
- guchar **data,
- GdkAtom *ret_type,
- gint *ret_format);
-void _gdk_wayland_display_convert_selection (GdkDisplay *display,
- GdkWindow *requestor,
- GdkAtom selection,
- GdkAtom target,
- guint32 time);
gint _gdk_wayland_display_text_property_to_utf8_list (GdkDisplay *display,
GdkAtom encoding,
gint format,
@@ -224,11 +208,6 @@ gpointer gdk_wayland_selection_get_offer (GdkDisplay *display,
GdkContentFormats *gdk_wayland_selection_get_targets (GdkDisplay *display,
GdkAtom selection);
-void gdk_wayland_selection_store (GdkWindow *window,
- GdkAtom type,
- GdkPropMode mode,
- const guchar *data,
- gint len);
struct wl_data_source * gdk_wayland_selection_get_data_source (GdkWindow *owner,
GdkAtom selection);
void gdk_wayland_selection_unset_data_source (GdkDisplay *display, GdkAtom selection);
diff --git a/gdk/wayland/gdkselection-wayland.c b/gdk/wayland/gdkselection-wayland.c
index caec000..97482af 100644
--- a/gdk/wayland/gdkselection-wayland.c
+++ b/gdk/wayland/gdkselection-wayland.c
@@ -36,7 +36,6 @@
typedef struct _SelectionBuffer SelectionBuffer;
typedef struct _SelectionData SelectionData;
typedef struct _StoredSelection StoredSelection;
-typedef struct _AsyncWriteData AsyncWriteData;
typedef struct _DataOfferData DataOfferData;
struct _SelectionBuffer
@@ -67,13 +66,6 @@ struct _DataOfferData
GdkContentFormats *targets;
};
-struct _AsyncWriteData
-{
- GOutputStream *stream;
- GdkWaylandSelection *selection;
- gsize index;
-};
-
struct _SelectionData
{
DataOfferData *offer;
@@ -98,14 +90,6 @@ struct _GdkWaylandSelection
struct wl_data_source *dnd_source; /* Owned by the GdkDragContext */
};
-static void async_write_data_write (AsyncWriteData *write_data);
-
-static inline glong
-get_buffer_size (void)
-{
- return sysconf (_SC_PAGESIZE);
-}
-
static DataOfferData *
data_offer_data_new (gpointer offer,
GDestroyNotify destroy_notify)
@@ -362,161 +346,6 @@ gdk_wayland_selection_get_targets (GdkDisplay *display,
return NULL;
}
-static AsyncWriteData *
-async_write_data_new (GdkWaylandSelection *selection)
-{
- AsyncWriteData *write_data;
-
- write_data = g_slice_new0 (AsyncWriteData);
- write_data->selection = selection;
- write_data->stream =
- g_unix_output_stream_new (selection->stored_selection.fd, TRUE);
-
- selection->stored_selection.fd = -1;
-
- return write_data;
-}
-
-static void
-async_write_data_free (AsyncWriteData *write_data)
-{
- g_object_unref (write_data->stream);
- g_slice_free (AsyncWriteData, write_data);
-}
-
-static void
-async_write_data_cb (GObject *object,
- GAsyncResult *res,
- gpointer user_data)
-{
- AsyncWriteData *write_data = user_data;
- GError *error = NULL;
- gsize bytes_written;
-
- bytes_written = g_output_stream_write_finish (G_OUTPUT_STREAM (object),
- res, &error);
- if (error)
- {
- if (error->domain != G_IO_ERROR ||
- error->code != G_IO_ERROR_CANCELLED)
- g_warning ("Error writing selection data: %s", error->message);
-
- g_error_free (error);
- async_write_data_free (write_data);
- return;
- }
-
- write_data->index += bytes_written;
-
- if (write_data->index <
- write_data->selection->stored_selection.data_len)
- {
- /* Write the next chunk */
- async_write_data_write (write_data);
- }
- else
- async_write_data_free (write_data);
-}
-
-static void
-async_write_data_write (AsyncWriteData *write_data)
-{
- GdkWaylandSelection *selection = write_data->selection;
- gsize buf_len;
- guchar *buf;
-
- buf = selection->stored_selection.data;
- buf_len = selection->stored_selection.data_len;
-
- g_output_stream_write_async (write_data->stream,
- &buf[write_data->index],
- buf_len - write_data->index,
- G_PRIORITY_DEFAULT,
- selection->stored_selection.cancellable,
- async_write_data_cb,
- write_data);
-}
-
-static gboolean
-gdk_wayland_selection_check_write (GdkWaylandSelection *selection)
-{
- AsyncWriteData *write_data;
-
- if (selection->stored_selection.fd < 0)
- return FALSE;
-
- /* Cancel any previous ongoing async write */
- if (selection->stored_selection.cancellable)
- {
- g_cancellable_cancel (selection->stored_selection.cancellable);
- g_object_unref (selection->stored_selection.cancellable);
- }
-
- selection->stored_selection.cancellable = g_cancellable_new ();
-
- write_data = async_write_data_new (selection);
- async_write_data_write (write_data);
- selection->stored_selection.fd = -1;
-
- return TRUE;
-}
-
-void
-gdk_wayland_selection_store (GdkWindow *window,
- GdkAtom type,
- GdkPropMode mode,
- const guchar *data,
- gint len)
-{
- GdkDisplay *display = gdk_window_get_display (window);
- GdkWaylandSelection *selection = gdk_wayland_display_get_selection (display);
- GArray *array;
-
- if (type == gdk_atom_intern_static_string ("NULL"))
- return;
-
- array = g_array_new (TRUE, FALSE, sizeof (guchar));
- g_array_append_vals (array, data, len);
-
- if (selection->stored_selection.data)
- {
- if (mode != GDK_PROP_MODE_REPLACE &&
- type != selection->stored_selection.type)
- {
- gchar *type_str, *stored_str;
-
- type_str = gdk_atom_name (type);
- stored_str = gdk_atom_name (selection->stored_selection.type);
-
- g_warning (G_STRLOC ": Attempted to append/prepend selection data with "
- "type %s into the current selection with type %s",
- type_str, stored_str);
- g_free (type_str);
- g_free (stored_str);
- return;
- }
-
- /* In these cases we also replace the stored data, so we
- * apply the inverse operation into the just given data.
- */
- if (mode == GDK_PROP_MODE_APPEND)
- g_array_prepend_vals (array, selection->stored_selection.data,
- selection->stored_selection.data_len - 1);
- else if (mode == GDK_PROP_MODE_PREPEND)
- g_array_append_vals (array, selection->stored_selection.data,
- selection->stored_selection.data_len - 1);
-
- g_free (selection->stored_selection.data);
- }
-
- selection->stored_selection.source = window;
- selection->stored_selection.data_len = array->len;
- selection->stored_selection.data = (guchar *) g_array_free (array, FALSE);
- selection->stored_selection.type = type;
-
- gdk_wayland_selection_check_write (selection);
-}
-
static void
data_source_target (void *data,
struct wl_data_source *source,
diff --git a/gdk/wayland/gdkwindow-wayland.c b/gdk/wayland/gdkwindow-wayland.c
index d6281cd..60a56a0 100644
--- a/gdk/wayland/gdkwindow-wayland.c
+++ b/gdk/wayland/gdkwindow-wayland.c
@@ -3507,40 +3507,6 @@ gdk_wayland_window_destroy_notify (GdkWindow *window)
g_object_unref (window);
}
-static gboolean
-gdk_wayland_window_get_property (GdkWindow *window,
- GdkAtom property,
- GdkAtom type,
- gulong offset,
- gulong length,
- gint pdelete,
- GdkAtom *actual_property_type,
- gint *actual_format_type,
- gint *actual_length,
- guchar **data)
-{
- return FALSE;
-}
-
-static void
-gdk_wayland_window_change_property (GdkWindow *window,
- GdkAtom property,
- GdkAtom type,
- gint format,
- GdkPropMode mode,
- const guchar *data,
- gint nelements)
-{
- if (property == gdk_atom_intern_static_string ("GDK_SELECTION"))
- gdk_wayland_selection_store (window, type, mode, data, nelements * (format / 8));
-}
-
-static void
-gdk_wayland_window_delete_property (GdkWindow *window,
- GdkAtom property)
-{
-}
-
static gint
gdk_wayland_window_get_scale_factor (GdkWindow *window)
{
@@ -3707,9 +3673,6 @@ _gdk_window_impl_wayland_class_init (GdkWindowImplWaylandClass *klass)
impl_class->destroy_notify = gdk_wayland_window_destroy_notify;
impl_class->register_dnd = _gdk_wayland_window_register_dnd;
impl_class->drag_begin = _gdk_wayland_window_drag_begin;
- impl_class->get_property = gdk_wayland_window_get_property;
- impl_class->change_property = gdk_wayland_window_change_property;
- impl_class->delete_property = gdk_wayland_window_delete_property;
impl_class->get_scale_factor = gdk_wayland_window_get_scale_factor;
impl_class->set_opaque_region = gdk_wayland_window_set_opaque_region;
impl_class->set_shadow_width = gdk_wayland_window_set_shadow_width;
diff --git a/gdk/win32/gdkprivate-win32.h b/gdk/win32/gdkprivate-win32.h
index e5016b0..75c1bec 100644
--- a/gdk/win32/gdkprivate-win32.h
+++ b/gdk/win32/gdkprivate-win32.h
@@ -426,28 +426,6 @@ GdkDragContext *_gdk_win32_window_drag_begin (GdkWindow *window,
gint x_root,
gint y_root);
-gint _gdk_win32_window_get_property (GdkWindow *window,
- GdkAtom property,
- GdkAtom type,
- gulong offset,
- gulong length,
- gint pdelete,
- GdkAtom *actual_property_type,
- gint *actual_format_type,
- gint *actual_length,
- guchar **data);
-void _gdk_win32_window_change_property (GdkWindow *window,
- GdkAtom property,
- GdkAtom type,
- gint format,
- GdkPropMode mode,
- const guchar *data,
- gint nelements);
-void _gdk_win32_window_delete_property (GdkWindow *window, GdkAtom property);
-
-void gdk_win32_selection_clear_targets (GdkDisplay *display,
- GdkAtom selection);
-
/* Stray GdkWin32Screen members */
gboolean _gdk_win32_get_setting (const gchar *name, GValue *value);
void _gdk_win32_screen_on_displaychange_event (GdkWin32Screen *screen);
diff --git a/gdk/win32/gdkproperty-win32.c b/gdk/win32/gdkproperty-win32.c
index 4692df5..6b37920 100644
--- a/gdk/win32/gdkproperty-win32.c
+++ b/gdk/win32/gdkproperty-win32.c
@@ -77,133 +77,6 @@ _gdk_win32_display_manager_get_atom_name (GdkDisplayManager *manager,
return g_strdup (name);
}
-gint
-_gdk_win32_window_get_property (GdkWindow *window,
- GdkAtom property,
- GdkAtom type,
- gulong offset,
- gulong length,
- gint pdelete,
- GdkAtom *actual_property_type,
- gint *actual_format_type,
- gint *actual_length,
- guchar **data)
-{
- g_return_val_if_fail (window != NULL, FALSE);
- g_return_val_if_fail (GDK_IS_WINDOW (window), FALSE);
-
- if (GDK_WINDOW_DESTROYED (window))
- return FALSE;
-
- g_warning ("gdk_property_get: Not implemented");
-
- return FALSE;
-}
-
-void
-_gdk_win32_window_change_property (GdkWindow *window,
- GdkAtom property,
- GdkAtom type,
- gint format,
- GdkPropMode mode,
- const guchar *data,
- gint nelements)
-{
- GdkWin32Selection *win32_sel = _gdk_win32_selection_get ();
-
- g_return_if_fail (window != NULL);
- g_return_if_fail (GDK_IS_WINDOW (window));
-
- if (GDK_WINDOW_DESTROYED (window))
- return;
-
- GDK_NOTE (DND, {
- gchar *prop_name = gdk_atom_name (property);
- gchar *type_name = gdk_atom_name (type);
- gchar *datastring = _gdk_win32_data_to_string (data, MIN (10, format*nelements/8));
-
- g_print ("gdk_property_change: %p %s %s %s %d*%d bits: %s\n",
- GDK_WINDOW_HWND (window),
- prop_name,
- type_name,
- (mode == GDK_PROP_MODE_REPLACE ? "REPLACE" :
- (mode == GDK_PROP_MODE_PREPEND ? "PREPEND" :
- (mode == GDK_PROP_MODE_APPEND ? "APPEND" :
- "???"))),
- format, nelements,
- datastring);
- g_free (datastring);
- g_free (prop_name);
- g_free (type_name);
- });
-
-#ifndef G_DISABLE_CHECKS
- /* We should never come here for these types */
- if (G_UNLIKELY (type == _gdk_win32_selection_atom (GDK_WIN32_ATOM_INDEX_COMPOUND_TEXT) ||
- type == _gdk_win32_selection_atom (GDK_WIN32_ATOM_INDEX_SAVE_TARGETS)))
- {
- g_return_if_fail_warning (G_LOG_DOMAIN,
- G_STRFUNC,
- "change_property called with a bad type");
- return;
- }
-#endif
-
- if (property == _gdk_win32_selection_atom (GDK_WIN32_ATOM_INDEX_GDK_SELECTION) ||
- property == _gdk_win32_selection_atom (GDK_WIN32_ATOM_INDEX_OLE2_DND))
- {
- _gdk_win32_selection_property_change (win32_sel,
- window,
- property,
- type,
- format,
- mode,
- data,
- nelements);
- }
- else
- g_warning ("gdk_property_change: General case not implemented");
-}
-
-void
-_gdk_win32_window_delete_property (GdkWindow *window,
- GdkAtom property)
-{
- gchar *prop_name;
-
- g_return_if_fail (window != NULL);
- g_return_if_fail (GDK_IS_WINDOW (window));
-
- GDK_NOTE (DND, {
- prop_name = gdk_atom_name (property);
-
- g_print ("gdk_property_delete: %p %s\n",
- GDK_WINDOW_HWND (window),
- prop_name);
- g_free (prop_name);
- });
-
- if (property == _gdk_win32_selection_atom (GDK_WIN32_ATOM_INDEX_GDK_SELECTION) ||
- property == _gdk_win32_selection_atom (GDK_WIN32_ATOM_INDEX_OLE2_DND))
- _gdk_selection_property_delete (window);
-/*
- else if (property == _gdk_win32_selection_atom (GDK_WIN32_ATOM_INDEX_WM_TRANSIENT_FOR))
- {
- GdkScreen *screen;
-
- screen = gdk_window_get_screen (window);
- gdk_window_set_transient_for (window, NULL);
- }
-*/
- else
- {
- prop_name = gdk_atom_name (property);
- g_warning ("gdk_property_delete: General case (%s) not implemented",
- prop_name);
- g_free (prop_name);
- }
-}
-
/*
For reference, from gdk/x11/gdksettings.c:
diff --git a/gdk/win32/gdkwindow-win32.c b/gdk/win32/gdkwindow-win32.c
index 3756fb4..12b8aa6 100644
--- a/gdk/win32/gdkwindow-win32.c
+++ b/gdk/win32/gdkwindow-win32.c
@@ -5941,9 +5941,6 @@ gdk_window_impl_win32_class_init (GdkWindowImplWin32Class *klass)
impl_class->destroy_notify = gdk_win32_window_destroy_notify;
impl_class->register_dnd = _gdk_win32_window_register_dnd;
impl_class->drag_begin = _gdk_win32_window_drag_begin;
- impl_class->get_property = _gdk_win32_window_get_property;
- impl_class->change_property = _gdk_win32_window_change_property;
- impl_class->delete_property = _gdk_win32_window_delete_property;
impl_class->create_gl_context = _gdk_win32_window_create_gl_context;
impl_class->get_scale_factor = _gdk_win32_window_get_scale_factor;
impl_class->get_unscaled_size = _gdk_win32_window_get_unscaled_size;
diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c
index 9dbbfaf..cb5d6a2 100644
--- a/gdk/x11/gdkdisplay-x11.c
+++ b/gdk/x11/gdkdisplay-x11.c
@@ -1038,17 +1038,7 @@ gdk_x11_display_translate_event (GdkEventTranslator *translator,
gdk_check_edge_constraints_changed (window);
}
- if (window->event_mask & GDK_PROPERTY_CHANGE_MASK)
- {
- event->any.type = GDK_PROPERTY_NOTIFY;
- event->any.window = window;
- event->property.atom = gdk_x11_xatom_to_atom_for_display (display, xevent->xproperty.atom);
- event->property.time = xevent->xproperty.time;
- event->property.state = xevent->xproperty.state;
- }
- else
- return_val = FALSE;
-
+ return_val = FALSE;
break;
case ColormapNotify:
diff --git a/gdk/x11/gdkprivate-x11.h b/gdk/x11/gdkprivate-x11.h
index 597e6b8..2cc7d7c 100644
--- a/gdk/x11/gdkprivate-x11.h
+++ b/gdk/x11/gdkprivate-x11.h
@@ -73,26 +73,6 @@ void _gdk_x11_window_process_expose (GdkWindow *window,
gulong serial,
GdkRectangle *area);
-gboolean _gdk_x11_window_get_property (GdkWindow *window,
- GdkAtom property,
- GdkAtom type,
- gulong offset,
- gulong length,
- gint pdelete,
- GdkAtom *actual_property_type,
- gint *actual_format_type,
- gint *actual_length,
- guchar **data);
-void _gdk_x11_window_change_property (GdkWindow *window,
- GdkAtom property,
- GdkAtom type,
- gint format,
- GdkPropMode mode,
- const guchar *data,
- gint nelements);
-void _gdk_x11_window_delete_property (GdkWindow *window,
- GdkAtom property);
-
void _gdk_x11_window_queue_antiexpose (GdkWindow *window,
cairo_region_t *area);
void _gdk_x11_window_translate (GdkWindow *window,
diff --git a/gdk/x11/gdkproperty-x11.c b/gdk/x11/gdkproperty-x11.c
index 863cd85..3894dfa 100644
--- a/gdk/x11/gdkproperty-x11.c
+++ b/gdk/x11/gdkproperty-x11.c
@@ -338,227 +338,3 @@ gdk_x11_get_xatom_name (Atom xatom)
return _gdk_atom_name_const (gdk_x11_xatom_to_atom (xatom));
}
-gboolean
-_gdk_x11_window_get_property (GdkWindow *window,
- GdkAtom property,
- GdkAtom type,
- gulong offset,
- gulong length,
- gint pdelete,
- GdkAtom *actual_property_type,
- gint *actual_format_type,
- gint *actual_length,
- guchar **data)
-{
- GdkDisplay *display;
- Atom ret_prop_type;
- gint ret_format;
- gulong ret_nitems;
- gulong ret_bytes_after;
- gulong get_length;
- gulong ret_length;
- guchar *ret_data;
- Atom xproperty;
- Atom xtype;
- int res;
- Window xwindow;
-
- g_return_val_if_fail (!window || GDK_WINDOW_IS_X11 (window), FALSE);
-
- if (!window)
- xwindow = GDK_DISPLAY_XROOTWIN (gdk_display_get_default ());
- else if (!GDK_WINDOW_IS_X11 (window))
- return FALSE;
- else if (GDK_WINDOW_DESTROYED (window))
- return FALSE;
- else
- xwindow = GDK_WINDOW_XID (window);
-
- display = gdk_window_get_display (window);
- xproperty = gdk_x11_atom_to_xatom_for_display (display, property);
- if (type == NULL)
- xtype = AnyPropertyType;
- else
- xtype = gdk_x11_atom_to_xatom_for_display (display, type);
-
- ret_data = NULL;
-
- /*
- * Round up length to next 4 byte value. Some code is in the (bad?)
- * habit of passing G_MAXLONG as the length argument, causing an
- * overflow to negative on the add. In this case, we clamp the
- * value to G_MAXLONG.
- */
- get_length = length + 3;
- if (get_length > G_MAXLONG)
- get_length = G_MAXLONG;
-
- /* To fail, either the user passed 0 or G_MAXULONG */
- get_length = get_length / 4;
- if (get_length == 0)
- {
- g_warning ("gdk_propery-get(): invalid length 0");
- return FALSE;
- }
-
- res = XGetWindowProperty (GDK_DISPLAY_XDISPLAY (display),
- xwindow, xproperty,
- offset, get_length, pdelete,
- xtype, &ret_prop_type, &ret_format,
- &ret_nitems, &ret_bytes_after,
- &ret_data);
-
- if (res != Success || (ret_prop_type == None && ret_format == 0))
- {
- return FALSE;
- }
-
- if (actual_property_type)
- *actual_property_type = gdk_x11_xatom_to_atom_for_display (display, ret_prop_type);
- if (actual_format_type)
- *actual_format_type = ret_format;
-
- if ((xtype != AnyPropertyType) && (ret_prop_type != xtype))
- {
- XFree (ret_data);
- g_warning ("Couldn't match property type %s to %s\n",
- gdk_x11_get_xatom_name_for_display (display, ret_prop_type),
- gdk_x11_get_xatom_name_for_display (display, xtype));
- return FALSE;
- }
-
- /* FIXME: ignoring bytes_after could have very bad effects */
-
- if (data)
- {
- if (ret_prop_type == XA_ATOM ||
- ret_prop_type == gdk_x11_get_xatom_by_name_for_display (display, "ATOM_PAIR"))
- {
- /*
- * data is an array of X atom, we need to convert it
- * to an array of GDK Atoms
- */
- gint i;
- GdkAtom *ret_atoms = g_new (GdkAtom, ret_nitems);
- Atom *xatoms = (Atom *)ret_data;
-
- *data = (guchar *)ret_atoms;
-
- for (i = 0; i < ret_nitems; i++)
- ret_atoms[i] = gdk_x11_xatom_to_atom_for_display (display, xatoms[i]);
-
- if (actual_length)
- *actual_length = ret_nitems * sizeof (GdkAtom);
- }
- else
- {
- switch (ret_format)
- {
- case 8:
- ret_length = ret_nitems;
- break;
- case 16:
- ret_length = sizeof(short) * ret_nitems;
- break;
- case 32:
- ret_length = sizeof(long) * ret_nitems;
- break;
- default:
- g_warning ("unknown property return format: %d", ret_format);
- XFree (ret_data);
- return FALSE;
- }
-
- *data = g_new (guchar, ret_length);
- memcpy (*data, ret_data, ret_length);
- if (actual_length)
- *actual_length = ret_length;
- }
- }
-
- XFree (ret_data);
-
- return TRUE;
-}
-
-void
-_gdk_x11_window_change_property (GdkWindow *window,
- GdkAtom property,
- GdkAtom type,
- gint format,
- GdkPropMode mode,
- const guchar *data,
- gint nelements)
-{
- GdkDisplay *display;
- Window xwindow;
- Atom xproperty;
- Atom xtype;
-
- g_return_if_fail (!window || GDK_WINDOW_IS_X11 (window));
-
- if (!window)
- xwindow = GDK_DISPLAY_XROOTWIN (gdk_display_get_default ());
- else if (!GDK_WINDOW_IS_X11 (window))
- return;
- else if (GDK_WINDOW_DESTROYED (window))
- return;
- else
- xwindow = GDK_WINDOW_XID (window);
-
- if (!gdk_window_has_native (window))
- {
- g_warning ("Can't change property on non-native window");
- return;
- }
-
- display = gdk_window_get_display (window);
- xproperty = gdk_x11_atom_to_xatom_for_display (display, property);
- xtype = gdk_x11_atom_to_xatom_for_display (display, type);
-
- if (xtype == XA_ATOM ||
- xtype == gdk_x11_get_xatom_by_name_for_display (display, "ATOM_PAIR"))
- {
- /*
- * data is an array of GdkAtom, we need to convert it
- * to an array of X Atoms
- */
- gint i;
- GdkAtom *atoms = (GdkAtom*) data;
- Atom *xatoms;
-
- xatoms = g_new (Atom, nelements);
- for (i = 0; i < nelements; i++)
- xatoms[i] = gdk_x11_atom_to_xatom_for_display (display, atoms[i]);
-
- XChangeProperty (GDK_DISPLAY_XDISPLAY (display), xwindow,
- xproperty, xtype,
- format, mode, (guchar *)xatoms, nelements);
- g_free (xatoms);
- }
- else
- XChangeProperty (GDK_DISPLAY_XDISPLAY (display), xwindow, xproperty,
- xtype, format, mode, (guchar *)data, nelements);
-}
-
-void
-_gdk_x11_window_delete_property (GdkWindow *window,
- GdkAtom property)
-{
- Window xwindow;
-
- g_return_if_fail (!window || GDK_WINDOW_IS_X11 (window));
-
- if (!window)
- xwindow = GDK_DISPLAY_XROOTWIN (gdk_display_get_default ());
- else if (!GDK_WINDOW_IS_X11 (window))
- return;
- else if (GDK_WINDOW_DESTROYED (window))
- return;
- else
- xwindow = GDK_WINDOW_XID (window);
-
- XDeleteProperty (GDK_WINDOW_XDISPLAY (window), xwindow,
- gdk_x11_atom_to_xatom_for_display (GDK_WINDOW_DISPLAY (window),
- property));
-}
diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c
index d56c9bd..9fae7dc 100644
--- a/gdk/x11/gdkwindow-x11.c
+++ b/gdk/x11/gdkwindow-x11.c
@@ -4975,9 +4975,6 @@ gdk_window_impl_x11_class_init (GdkWindowImplX11Class *klass)
impl_class->destroy_notify = gdk_x11_window_destroy_notify;
impl_class->register_dnd = _gdk_x11_window_register_dnd;
impl_class->drag_begin = _gdk_x11_window_drag_begin;
- impl_class->get_property = _gdk_x11_window_get_property;
- impl_class->change_property = _gdk_x11_window_change_property;
- impl_class->delete_property = _gdk_x11_window_delete_property;
impl_class->get_scale_factor = gdk_x11_window_get_scale_factor;
impl_class->set_opaque_region = gdk_x11_window_set_opaque_region;
impl_class->set_shadow_width = gdk_x11_window_set_shadow_width;
diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c
index 2e1a022..0a5e6ff 100644
--- a/gtk/gtkmain.c
+++ b/gtk/gtkmain.c
@@ -1806,7 +1806,6 @@ gtk_main_do_event (GdkEvent *event)
gtk_widget_render (event_widget, event->any.window, event->expose.region);
break;
- case GDK_PROPERTY_NOTIFY:
case GDK_FOCUS_CHANGE:
case GDK_CONFIGURE:
case GDK_MAP:
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c
index c5dc3a4..a6206e3 100644
--- a/gtk/gtkwidget.c
+++ b/gtk/gtkwidget.c
@@ -520,7 +520,6 @@ enum {
FOCUS_OUT_EVENT,
MAP_EVENT,
UNMAP_EVENT,
- PROPERTY_NOTIFY_EVENT,
SELECTION_GET,
SELECTION_RECEIVED,
PROXIMITY_IN_EVENT,
@@ -1044,7 +1043,6 @@ gtk_widget_class_init (GtkWidgetClass *klass)
klass->map_event = NULL;
klass->unmap_event = NULL;
klass->window_state_event = NULL;
- klass->property_notify_event = NULL;
klass->selection_received = NULL;
klass->proximity_in_event = NULL;
klass->proximity_out_event = NULL;
@@ -2401,33 +2399,6 @@ gtk_widget_class_init (GtkWidgetClass *klass)
_gtk_marshal_BOOLEAN__OBJECTv);
/**
- * GtkWidget::property-notify-event:
- * @widget: the object which received the signal
- * @event: (type Gdk.EventProperty): the #GdkEventProperty which triggered
- * this signal.
- *
- * The ::property-notify-event signal will be emitted when a property on
- * the @widget's window has been changed or deleted.
- *
- * To receive this signal, the #GdkWindow associated to the widget needs
- * to enable the #GDK_PROPERTY_CHANGE_MASK mask.
- *
- * Returns: %TRUE to stop other handlers from being invoked for the event.
- * %FALSE to propagate the event further.
- */
- widget_signals[PROPERTY_NOTIFY_EVENT] =
- g_signal_new (I_("property-notify-event"),
- G_TYPE_FROM_CLASS (klass),
- G_SIGNAL_RUN_LAST | G_SIGNAL_DEPRECATED,
- G_STRUCT_OFFSET (GtkWidgetClass, property_notify_event),
- _gtk_boolean_handled_accumulator, NULL,
- _gtk_marshal_BOOLEAN__OBJECT,
- G_TYPE_BOOLEAN, 1,
- GDK_TYPE_EVENT);
- g_signal_set_va_marshaller (widget_signals[PROPERTY_NOTIFY_EVENT], G_TYPE_FROM_CLASS (klass),
- _gtk_marshal_BOOLEAN__OBJECTv);
-
- /**
* GtkWidget::selection-received:
* @widget: the object which received the signal.
* @data:
@@ -6601,7 +6572,6 @@ gtk_widget_event_internal (GtkWidget *widget,
case GDK_MAP:
case GDK_UNMAP:
case GDK_WINDOW_STATE:
- case GDK_PROPERTY_NOTIFY:
return gtk_widget_emit_event_signals (widget, event);
default:
break;
@@ -6718,9 +6688,6 @@ gtk_widget_emit_event_signals (GtkWidget *widget,
case GDK_WINDOW_STATE:
signal_num = WINDOW_STATE_EVENT;
break;
- case GDK_PROPERTY_NOTIFY:
- signal_num = PROPERTY_NOTIFY_EVENT;
- break;
case GDK_PROXIMITY_IN:
signal_num = PROXIMITY_IN_EVENT;
break;
diff --git a/gtk/gtkwidget.h b/gtk/gtkwidget.h
index 9ad1a8e..50d3b9e 100644
--- a/gtk/gtkwidget.h
+++ b/gtk/gtkwidget.h
@@ -367,8 +367,6 @@ struct _GtkWidgetClass
GdkEventAny *event);
gboolean (* unmap_event) (GtkWidget *widget,
GdkEventAny *event);
- gboolean (* property_notify_event) (GtkWidget *widget,
- GdkEventProperty *event);
gboolean (* proximity_in_event) (GtkWidget *widget,
GdkEventProximity *event);
gboolean (* proximity_out_event) (GtkWidget *widget,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]