summaryrefslogtreecommitdiff
path: root/gdk
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2016-10-06 16:02:39 +0200
committerBenjamin Otte <otte@redhat.com>2016-10-16 18:17:21 +0200
commit662001b60adc6171ff8351e2146c6fa1ba383f75 (patch)
tree8065a6ea7fbc29e5e4202c16eadb74feeea58d46 /gdk
parent380494c1d7a154e19af362756b1aaef490c60aaa (diff)
downloadgtk+-662001b60adc6171ff8351e2146c6fa1ba383f75.tar.gz
API: Remove ability to set visuals on windows
And with it, gtk_widget_get_visual() and gtk_widget_set_visual() are gone. We now always use the RGBA visual (if available) and otherwise fall back to the system visual.
Diffstat (limited to 'gdk')
-rw-r--r--gdk/gdkwindow.c10
-rw-r--r--gdk/gdkwindow.h7
-rw-r--r--gdk/wayland/gdkdevice-wayland.c3
-rw-r--r--gdk/wayland/gdkdnd-wayland.c3
-rw-r--r--gdk/win32/gdkwindow-win32.c9
-rw-r--r--gdk/x11/gdkdnd-x11.c5
6 files changed, 9 insertions, 28 deletions
diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c
index a7201816c6..ba64a65f43 100644
--- a/gdk/gdkwindow.c
+++ b/gdk/gdkwindow.c
@@ -1340,11 +1340,6 @@ gdk_window_new (GdkWindow *parent,
return NULL;
}
- if (attributes_mask & GDK_WA_VISUAL)
- {
- g_return_val_if_fail (gdk_visual_get_screen (attributes->visual) == screen, NULL);
- }
-
display = gdk_screen_get_display (screen);
window = _gdk_display_create_window (display);
@@ -1418,9 +1413,8 @@ gdk_window_new (GdkWindow *parent,
return NULL;
}
- if (attributes_mask & GDK_WA_VISUAL)
- window->visual = attributes->visual;
- else
+ window->visual = gdk_screen_get_rgba_visual (screen);
+ if (window->visual == NULL)
window->visual = gdk_screen_get_system_visual (screen);
window->event_mask = attributes->event_mask;
diff --git a/gdk/gdkwindow.h b/gdk/gdkwindow.h
index 319d8367c2..d3b3240dff 100644
--- a/gdk/gdkwindow.h
+++ b/gdk/gdkwindow.h
@@ -91,7 +91,6 @@ typedef enum
* @GDK_WA_TITLE: Honor the title field
* @GDK_WA_X: Honor the X coordinate field
* @GDK_WA_Y: Honor the Y coordinate field
- * @GDK_WA_VISUAL: Honor the visual field
* @GDK_WA_NOREDIR: Honor the override_redirect field
* @GDK_WA_TYPE_HINT: Honor the type_hint field
*
@@ -107,9 +106,8 @@ typedef enum
GDK_WA_TITLE = 1 << 1,
GDK_WA_X = 1 << 2,
GDK_WA_Y = 1 << 3,
- GDK_WA_VISUAL = 1 << 4,
- GDK_WA_NOREDIR = 1 << 5,
- GDK_WA_TYPE_HINT = 1 << 6
+ GDK_WA_NOREDIR = 1 << 4,
+ GDK_WA_TYPE_HINT = 1 << 5
} GdkWindowAttributesType;
/* Size restriction enumeration.
@@ -352,7 +350,6 @@ struct _GdkWindowAttr
gint width;
gint height;
GdkWindowWindowClass wclass;
- GdkVisual *visual;
GdkWindowType window_type;
gboolean override_redirect;
GdkWindowTypeHint type_hint;
diff --git a/gdk/wayland/gdkdevice-wayland.c b/gdk/wayland/gdkdevice-wayland.c
index fd39676740..f453df5b4d 100644
--- a/gdk/wayland/gdkdevice-wayland.c
+++ b/gdk/wayland/gdkdevice-wayland.c
@@ -4512,9 +4512,8 @@ create_foreign_dnd_window (GdkDisplay *display)
attrs.width = attrs.height = 1;
attrs.wclass = GDK_INPUT_OUTPUT;
attrs.window_type = GDK_WINDOW_TEMP;
- attrs.visual = gdk_screen_get_system_visual (screen);
- mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL;
+ mask = GDK_WA_X | GDK_WA_Y;
return gdk_window_new (gdk_screen_get_root_window (screen), &attrs, mask);
}
diff --git a/gdk/wayland/gdkdnd-wayland.c b/gdk/wayland/gdkdnd-wayland.c
index adc33a4bc2..817b72e15f 100644
--- a/gdk/wayland/gdkdnd-wayland.c
+++ b/gdk/wayland/gdkdnd-wayland.c
@@ -508,9 +508,8 @@ create_dnd_window (GdkScreen *screen)
attrs.wclass = GDK_INPUT_OUTPUT;
attrs.window_type = GDK_WINDOW_TEMP;
attrs.type_hint = GDK_WINDOW_TYPE_HINT_DND;
- attrs.visual = gdk_screen_get_system_visual (screen);
- mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL | GDK_WA_TYPE_HINT;
+ mask = GDK_WA_X | GDK_WA_Y | GDK_WA_TYPE_HINT;
return gdk_window_new (gdk_screen_get_root_window (screen), &attrs, mask);
}
diff --git a/gdk/win32/gdkwindow-win32.c b/gdk/win32/gdkwindow-win32.c
index 6a5a7dca68..0adb9074b1 100644
--- a/gdk/win32/gdkwindow-win32.c
+++ b/gdk/win32/gdkwindow-win32.c
@@ -672,7 +672,6 @@ RegisterGdkClass (GdkWindowType wtype, GdkWindowTypeHint wtype_hint)
* except for toplevel window where OS/Window Manager placement
* is used.
*
- * The visual parameter, is based on GDK_WA_VISUAL if set already.
* From attributes the only things used is: colormap, title,
* wmclass and type_hint. [1]. We are checking redundant information
* and complain if that changes, which would break this implementation
@@ -734,9 +733,9 @@ _gdk_win32_display_create_window_impl (GdkDisplay *display,
remaining_mask &= ~GDK_WA_NOREDIR;
}
- if ((remaining_mask & ~(GDK_WA_VISUAL|GDK_WA_TITLE|GDK_WA_TYPE_HINT)) != 0)
+ if ((remaining_mask & ~(GDK_WA_TITLE|GDK_WA_TYPE_HINT)) != 0)
g_warning ("_gdk_window_impl_new: uexpected attribute 0x%X",
- remaining_mask & ~(GDK_WA_VISUAL|GDK_WA_TITLE|GDK_WA_TYPE_HINT));
+ remaining_mask & ~(GDK_WA_TITLE|GDK_WA_TYPE_HINT));
hparent = GDK_WINDOW_HWND (real_parent);
@@ -744,10 +743,6 @@ _gdk_win32_display_create_window_impl (GdkDisplay *display,
impl->wrapper = GDK_WINDOW (window);
window->impl = GDK_WINDOW_IMPL (impl);
- if (attributes_mask & GDK_WA_VISUAL)
- g_assert ((gdk_screen_get_system_visual (screen) == attributes->visual) ||
- (gdk_screen_get_rgba_visual (screen) == attributes->visual));
-
impl->override_redirect = override_redirect;
impl->layered = FALSE;
impl->layered_opacity = 1.0;
diff --git a/gdk/x11/gdkdnd-x11.c b/gdk/x11/gdkdnd-x11.c
index bb322c4c10..16685510fd 100644
--- a/gdk/x11/gdkdnd-x11.c
+++ b/gdk/x11/gdkdnd-x11.c
@@ -2001,11 +2001,8 @@ create_drag_window (GdkScreen *screen)
attrs.wclass = GDK_INPUT_OUTPUT;
attrs.window_type = GDK_WINDOW_TEMP;
attrs.type_hint = GDK_WINDOW_TYPE_HINT_DND;
- attrs.visual = gdk_screen_get_rgba_visual (screen);
- if (!attrs.visual)
- attrs.visual = gdk_screen_get_system_visual (screen);
- mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL | GDK_WA_TYPE_HINT;
+ mask = GDK_WA_X | GDK_WA_Y | GDK_WA_TYPE_HINT;
return gdk_window_new (gdk_screen_get_root_window (screen), &attrs, mask);
}