[gtk+] gdk/win32: Fix build after GdkScreen and cursor cleanups
- From: Chun-wei Fan <fanchunwei src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] gdk/win32: Fix build after GdkScreen and cursor cleanups
- Date: Sat, 4 Nov 2017 02:32:35 +0000 (UTC)
commit 6a12a3cd10c9985d2dbbf176e6899b54880e14dd
Author: Chun-wei Fan <fanchunwei src gnome org>
Date: Fri Nov 3 16:37:18 2017 +0800
gdk/win32: Fix build after GdkScreen and cursor cleanups
Move the leftovers from the removals to use the current APIs, to fix the
build. Also for gdk_device_virtual_set_window_cursor(), only do
something when a valid GdkCursor is passed in here.
https://bugzilla.gnome.org/show_bug.cgi?id=773299
gdk/win32/gdkdevice-virtual.c | 29 +----------------------------
gdk/win32/gdkdevice-win32.c | 6 +++---
gdk/win32/gdkdevice-wintab.c | 5 +++--
gdk/win32/gdkdevicemanager-win32.c | 7 ++++---
gdk/win32/gdkdisplay-win32.c | 2 +-
gdk/win32/gdkdnd-win32.c | 5 +++--
gdk/win32/gdkevents-win32.c | 12 +++---------
gdk/win32/gdkprivate-win32.h | 3 ---
gdk/win32/gdkproperty-win32.c | 1 +
gdk/win32/gdkscreen-win32.c | 32 --------------------------------
gdk/win32/gdkwindow-win32.c | 19 +++++++------------
11 files changed, 26 insertions(+), 95 deletions(-)
---
diff --git a/gdk/win32/gdkdevice-virtual.c b/gdk/win32/gdkdevice-virtual.c
index 6b8079b..57ee4b5 100644
--- a/gdk/win32/gdkdevice-virtual.c
+++ b/gdk/win32/gdkdevice-virtual.c
@@ -92,33 +92,8 @@ gdk_device_virtual_set_window_cursor (GdkDevice *device,
GdkWindow *window,
GdkCursor *cursor)
{
- GdkWindowImplWin32 *impl = GDK_WINDOW_IMPL_WIN32 (window->impl);
- GdkCursor *previous_cursor = impl->cursor;
-
if (cursor != NULL && GDK_WIN32_CURSOR (cursor)->hcursor != NULL)
- {
- SetCursor (GDK_WIN32_CURSOR (cursor)->hcursor);
- }
- else if (previous_cursor != NULL &&
- GetCursor () == GDK_WIN32_CURSOR (previous_cursor)->hcursor)
- {
- /* The caller will unref previous_cursor shortly,
- * but it holds the handle to currently-used cursor,
- * and we can't call SetCursor(NULL).
- */
- g_warning (G_STRLOC ": Refusing to replace cursor %p (handle %p) with NULL. "
- "Expect ugly results.",
- previous_cursor, GDK_WIN32_CURSOR (previous_cursor)->hcursor);
- }
- else
- {
- /* Up the stack all effors were made already to ensure that
- * the "cursor" argument is non-NULL.
- * If it is, calling SetCursor(NULL) is absolutely not
- * the right decision, so we just warn and bail out.
- */
- g_warning (G_STRLOC ": Refusing to set NULL cursor");
- }
+ SetCursor (GDK_WIN32_CURSOR (cursor)->hcursor);
}
static void
@@ -171,8 +146,6 @@ gdk_device_virtual_grab (GdkDevice *device,
if (_gdk_win32_grab_cursor != NULL)
SetCursor (GDK_WIN32_CURSOR (_gdk_win32_grab_cursor)->hcursor);
- else if (impl->cursor != NULL)
- SetCursor (GDK_WIN32_CURSOR (impl->cursor)->hcursor);
else
SetCursor (LoadCursor (NULL, IDC_ARROW));
diff --git a/gdk/win32/gdkdevice-win32.c b/gdk/win32/gdkdevice-win32.c
index 711a0b7..0033fff 100644
--- a/gdk/win32/gdkdevice-win32.c
+++ b/gdk/win32/gdkdevice-win32.c
@@ -111,7 +111,7 @@ gdk_device_win32_query_state (GdkDevice *device,
GdkWindowImplWin32 *impl;
if (window == NULL)
- window = gdk_get_default_root_window ();
+ window = gdk_display_get_root_window (gdk_display_get_default ());
impl = GDK_WINDOW_IMPL_WIN32 (window->impl);
hwnd = GDK_WINDOW_HWND (window);
@@ -131,7 +131,7 @@ gdk_device_win32_query_state (GdkDevice *device,
if (win_y)
*win_y = point.y / impl->window_scale;
- if (window == gdk_get_default_root_window ())
+ if (window == gdk_display_get_root_window (gdk_display_get_default ()))
{
if (win_x)
*win_x += _gdk_offset_x;
@@ -247,7 +247,7 @@ _gdk_device_win32_window_at_position (GdkDevice *device,
/* If we didn't hit any window at that point, return the desktop */
if (hwnd == NULL)
{
- window = gdk_get_default_root_window ();
+ window = gdk_display_get_root_window (gdk_display_get_default ());
impl = GDK_WINDOW_IMPL_WIN32 (window->impl);
if (win_x)
diff --git a/gdk/win32/gdkdevice-wintab.c b/gdk/win32/gdkdevice-wintab.c
index 26991a7..a9ffd94 100644
--- a/gdk/win32/gdkdevice-wintab.c
+++ b/gdk/win32/gdkdevice-wintab.c
@@ -24,6 +24,7 @@
#include "gdkwin32.h"
#include "gdkdevice-wintab.h"
+#include "gdkdisplayprivate.h"
G_DEFINE_TYPE (GdkDeviceWintab, gdk_device_wintab, GDK_TYPE_DEVICE)
@@ -122,7 +123,7 @@ gdk_device_wintab_query_state (GdkDevice *device,
device_wintab = GDK_DEVICE_WINTAB (device);
if (window == NULL)
- window = gdk_get_default_root_window ();
+ window = gdk_display_get_root_window (gdk_display_get_default ());
impl = GDK_WINDOW_IMPL_WIN32 (window->impl);
hwnd = GDK_WINDOW_HWND (window);
@@ -142,7 +143,7 @@ gdk_device_wintab_query_state (GdkDevice *device,
if (win_y)
*win_y = point.y / impl->window_scale;
- if (window == gdk_get_default_root_window ())
+ if (window == gdk_display_get_root_window (gdk_display_get_default ()))
{
if (win_x)
*win_x += _gdk_offset_x;
diff --git a/gdk/win32/gdkdevicemanager-win32.c b/gdk/win32/gdkdevicemanager-win32.c
index cdd4be7..704c5c4 100644
--- a/gdk/win32/gdkdevicemanager-win32.c
+++ b/gdk/win32/gdkdevicemanager-win32.c
@@ -961,7 +961,7 @@ G_GNUC_BEGIN_IGNORE_DEPRECATIONS;
G_GNUC_END_IGNORE_DEPRECATIONS;
window = gdk_device_get_window_at_position (device_manager->core_pointer, &x, &y);
if (window == NULL)
- window = gdk_get_default_root_window ();
+ window = gdk_display_get_root_window (gdk_display_get_default ());
g_object_ref (window);
@@ -1004,7 +1004,7 @@ G_GNUC_END_IGNORE_DEPRECATIONS;
window = g_object_ref (last_grab->window);
}
- if (window == gdk_get_default_root_window ())
+ if (window == gdk_display_get_root_window (gdk_display_get_default ()))
{
GDK_NOTE (EVENTS_OR_INPUT, g_print ("... is root\n"));
return FALSE;
@@ -1081,7 +1081,8 @@ G_GNUC_END_IGNORE_DEPRECATIONS;
{
GDK_NOTE (EVENTS_OR_INPUT, g_print ("... not selected\n"));
- if (window->parent == gdk_get_default_root_window () || window->parent == NULL)
+ if (window->parent == gdk_display_get_root_window (gdk_display_get_default ()) ||
+ window->parent == NULL)
return FALSE;
impl = GDK_WINDOW_IMPL_WIN32 (window->impl);
diff --git a/gdk/win32/gdkdisplay-win32.c b/gdk/win32/gdkdisplay-win32.c
index 5cd08e0..9f13f18 100644
--- a/gdk/win32/gdkdisplay-win32.c
+++ b/gdk/win32/gdkdisplay-win32.c
@@ -619,7 +619,7 @@ inner_clipboard_window_procedure (HWND hwnd,
GDK_NOTE (DND, g_print (" \n"));
event = gdk_event_new (GDK_OWNER_CHANGE);
- event->owner_change.window = gdk_get_default_root_window ();
+ event->owner_change.window = gdk_display_get_root_window (gdk_display_get_default ());
event->owner_change.reason = GDK_OWNER_CHANGE_NEW_OWNER;
event->owner_change.selection = GDK_SELECTION_CLIPBOARD;
event->owner_change.time = _gdk_win32_get_next_tick (0);
diff --git a/gdk/win32/gdkdnd-win32.c b/gdk/win32/gdkdnd-win32.c
index eded6aa..8771eb0 100644
--- a/gdk/win32/gdkdnd-win32.c
+++ b/gdk/win32/gdkdnd-win32.c
@@ -81,6 +81,7 @@
#include "gdkwin32.h"
#include "gdkwin32dnd.h"
#include "gdk/gdkdndprivate.h"
+#include "gdkdisplayprivate.h"
#include <ole2.h>
@@ -731,7 +732,7 @@ idropsource_givefeedback (LPDROPSOURCE This,
else
{
if (ctx->context->dest_window == NULL)
- ctx->context->dest_window = g_object_ref (gdk_get_default_root_window ());
+ ctx->context->dest_window = g_object_ref (gdk_display_get_root_window (gdk_display_get_default ()));
}
return DRAGDROP_S_USEDEFAULTCURSORS;
@@ -1430,7 +1431,7 @@ gdk_dropfiles_filter (GdkXEvent *xev,
context->protocol = GDK_DRAG_PROTO_WIN32_DROPFILES;
context->is_source = FALSE;
- context->source_window = gdk_get_default_root_window ();
+ context->source_window = gdk_display_get_root_window (gdk_display_get_default ());
g_object_ref (context->source_window);
context->dest_window = event->any.window;
diff --git a/gdk/win32/gdkevents-win32.c b/gdk/win32/gdkevents-win32.c
index aee97c4..591f533 100644
--- a/gdk/win32/gdkevents-win32.c
+++ b/gdk/win32/gdkevents-win32.c
@@ -673,7 +673,6 @@ _gdk_win32_print_event (const GdkEvent *event)
CASE (GDK_DROP_START);
CASE (GDK_DROP_FINISHED);
CASE (GDK_CLIENT_EVENT);
- CASE (GDK_VISIBILITY_NOTIFY);
CASE (GDK_SCROLL);
CASE (GDK_WINDOW_STATE);
CASE (GDK_OWNER_CHANGE);
@@ -1356,7 +1355,8 @@ propagate (GdkWindow **window,
{
/* Owner doesn't want it, propagate to parent. */
GdkWindow *parent = gdk_window_get_parent (*window);
- if (parent == gdk_get_default_root_window () || parent == NULL)
+ if (parent == gdk_display_get_root_window (gdk_display_get_default ()) ||
+ parent == NULL)
{
/* No parent; check if grabbed */
if (grab_window != NULL)
@@ -1434,7 +1434,7 @@ _gdk_win32_get_window_rect (GdkWindow *window,
point.y = client_rect.top;
/* top level windows need screen coords */
- if (gdk_window_get_parent (window) == gdk_get_default_root_window ())
+ if (gdk_window_get_parent (window) == gdk_display_get_root_window (gdk_display_get_default ()))
{
ClientToScreen (hwnd, &point);
point.x += _gdk_offset_x * window_impl->window_scale;
@@ -1692,7 +1692,6 @@ handle_dpi_changed (GdkWindow *window,
GdkWindowImplWin32 *impl = GDK_WINDOW_IMPL_WIN32 (window->impl);
GdkDisplay *display = gdk_display_get_default ();
GdkWin32Display *win32_display = GDK_WIN32_DISPLAY (display);
- GdkScreen *screen = gdk_window_get_screen (window);
GdkDevice *device = gdk_seat_get_pointer (gdk_display_get_default_seat (display));
RECT *rect = (RECT *)msg->lParam;
GdkEvent *event;
@@ -1711,9 +1710,6 @@ handle_dpi_changed (GdkWindow *window,
if (old_scale == impl->window_scale)
return;
- _gdk_screen_set_resolution (screen,
- impl->window_scale >= 2 ? USER_DEFAULT_SCREEN_DPI : dpi);
-
if (!IsIconic (msg->hwnd) &&
!GDK_WINDOW_DESTROYED (window))
{
@@ -3070,8 +3066,6 @@ gdk_event_translate (MSG *msg,
if (grab_window != NULL && _gdk_win32_grab_cursor != NULL)
cursor = _gdk_win32_grab_cursor;
- else if (!GDK_WINDOW_DESTROYED (window) && GDK_WINDOW_IMPL_WIN32 (window->impl)->cursor != NULL)
- cursor = GDK_WINDOW_IMPL_WIN32 (window->impl)->cursor;
else
cursor = NULL;
diff --git a/gdk/win32/gdkprivate-win32.h b/gdk/win32/gdkprivate-win32.h
index 7401bdb..57b8142 100644
--- a/gdk/win32/gdkprivate-win32.h
+++ b/gdk/win32/gdkprivate-win32.h
@@ -466,7 +466,6 @@ GdkKeymap *_gdk_win32_display_get_keymap (GdkDisplay *display);
void _gdk_win32_display_create_window_impl (GdkDisplay *display,
GdkWindow *window,
GdkWindow *real_parent,
- GdkScreen *screen,
GdkEventMask event_mask,
GdkWindowAttr *attributes);
@@ -530,8 +529,6 @@ gboolean _gdk_win32_window_lacks_wm_decorations (GdkWindow *window);
BOOL WINAPI GtkShowWindow (GdkWindow *window,
int cmd_show);
-void _gdk_win32_screen_set_font_resolution (GdkWin32Screen *win32_screen);
-
/* Initialization */
void _gdk_win32_windowing_init (void);
void _gdk_dnd_init (void);
diff --git a/gdk/win32/gdkproperty-win32.c b/gdk/win32/gdkproperty-win32.c
index ebd53d5..b1910b7 100644
--- a/gdk/win32/gdkproperty-win32.c
+++ b/gdk/win32/gdkproperty-win32.c
@@ -31,6 +31,7 @@
#include "gdkscreen.h"
#include "gdkproperty.h"
#include "gdkselection.h"
+#include "gdkdisplayprivate.h"
#include "gdkprivate-win32.h"
#include "gdkwin32.h"
diff --git a/gdk/win32/gdkscreen-win32.c b/gdk/win32/gdkscreen-win32.c
index 25320d1..0ce999c 100644
--- a/gdk/win32/gdkscreen-win32.c
+++ b/gdk/win32/gdkscreen-win32.c
@@ -127,7 +127,6 @@ static void
gdk_win32_screen_init (GdkWin32Screen *win32_screen)
{
GdkScreen *screen = GDK_SCREEN (win32_screen);
- _gdk_win32_screen_set_font_resolution (win32_screen);
_gdk_win32_display_init_monitors (GDK_WIN32_DISPLAY (_gdk_display));
init_root_window (win32_screen);
@@ -141,37 +140,6 @@ _gdk_win32_screen_on_displaychange_event (GdkWin32Screen *screen)
init_root_window_size (screen);
}
-void
-_gdk_win32_screen_set_font_resolution (GdkWin32Screen *win32_screen)
-{
- GdkScreen *screen = GDK_SCREEN (win32_screen);
- int logpixelsx = -1;
- const gchar *font_resolution;
-
- font_resolution = g_getenv ("GDK_WIN32_FONT_RESOLUTION");
- if (font_resolution)
- {
- int env_logpixelsx = atol (font_resolution);
- if (env_logpixelsx > 0)
- logpixelsx = env_logpixelsx;
- }
- else
- {
- gint dpi = -1;
- GdkWin32Display *win32_display = GDK_WIN32_DISPLAY (screen->display);
- guint scale = _gdk_win32_display_get_monitor_scale_factor (win32_display, NULL, NULL, &dpi);
-
- /* If we have a scale that is at least 2, don't scale up the fonts */
- if (scale >= 2)
- logpixelsx = USER_DEFAULT_SCREEN_DPI;
- else
- logpixelsx = dpi;
- }
-
- if (logpixelsx > 0)
- _gdk_screen_set_resolution (screen, logpixelsx);
-}
-
GdkWindow *
gdk_win32_screen_get_root_window (GdkScreen *screen)
{
diff --git a/gdk/win32/gdkwindow-win32.c b/gdk/win32/gdkwindow-win32.c
index 0350a6c..97f86fa 100644
--- a/gdk/win32/gdkwindow-win32.c
+++ b/gdk/win32/gdkwindow-win32.c
@@ -36,7 +36,6 @@
#include "gdkenumtypes.h"
#include "gdkwin32.h"
#include "gdkdisplayprivate.h"
-#include "gdkvisualprivate.h"
#include "gdkmonitorprivate.h"
#include "gdkwin32window.h"
#include "gdkglcontext-win32.h"
@@ -449,7 +448,6 @@ gboolean
_gdk_win32_window_enable_transparency (GdkWindow *window)
{
GdkWindowImplWin32 *impl;
- GdkScreen *screen;
DWM_BLURBEHIND blur_behind;
HRGN empty_region;
HRESULT call_result;
@@ -464,8 +462,6 @@ _gdk_win32_window_enable_transparency (GdkWindow *window)
if (impl->layered)
return TRUE;
- screen = gdk_window_get_screen (window);
-
if (!gdk_display_is_composited (gdk_window_get_display (window)))
return FALSE;
@@ -748,7 +744,7 @@ _gdk_win32_display_create_window_impl (GdkDisplay *display,
case GDK_WINDOW_TEMP:
/* A temp window is not necessarily a top level window */
- dwStyle = (gdk_screen_get_root_window (screen) == real_parent ? WS_POPUP : WS_CHILDWINDOW);
+ dwStyle = (gdk_display_get_root_window (display) == real_parent ? WS_POPUP : WS_CHILDWINDOW);
dwStyle |= WS_CLIPCHILDREN | WS_CLIPSIBLINGS;
dwExStyle |= WS_EX_TOOLWINDOW | WS_EX_TOPMOST;
offset_x = _gdk_offset_x;
@@ -897,7 +893,7 @@ gdk_win32_window_foreign_new_for_display (GdkDisplay *display,
parent = GetParent (anid);
/* Always treat foreigns as toplevels */
- window->parent = gdk_get_default_root_window ();
+ window->parent = gdk_display_get_root_window (gdk_display_get_default ());
window->parent->children = g_list_concat (&window->children_list_node, window->parent->children);
@@ -1999,18 +1995,18 @@ gdk_win32_window_get_geometry (GdkWindow *window,
gint *width,
gint *height)
{
- GdkScreen *screen;
+ GdkDisplay *display;
gboolean window_is_root;
- screen = gdk_window_get_screen (window);
+ display = gdk_window_get_display (window);
if (!window)
{
- window = gdk_screen_get_root_window (screen);
+ window = gdk_display_get_root_window (display);
window_is_root = TRUE;
}
else
- window_is_root = (gdk_screen_get_root_window (screen) == window);
+ window_is_root = (gdk_display_get_root_window (display) == window);
if (!GDK_WINDOW_DESTROYED (window))
{
@@ -2038,7 +2034,7 @@ gdk_win32_window_get_geometry (GdkWindow *window,
rect.right = pt.x;
rect.bottom = pt.y;
- if (gdk_screen_get_root_window (screen) == parent)
+ if (gdk_display_get_root_window (display) == parent)
{
rect.left += _gdk_offset_x * impl->window_scale;
rect.top += _gdk_offset_y * impl->window_scale;
@@ -5830,7 +5826,6 @@ gdk_window_impl_win32_class_init (GdkWindowImplWin32Class *klass)
impl_class->lower = gdk_win32_window_lower;
impl_class->restack_toplevel = gdk_win32_window_restack_toplevel;
impl_class->move_resize = gdk_win32_window_move_resize;
- impl_class->set_device_cursor = gdk_win32_window_set_device_cursor;
impl_class->get_geometry = gdk_win32_window_get_geometry;
impl_class->get_device_state = gdk_window_win32_get_device_state;
impl_class->get_root_coords = gdk_win32_window_get_root_coords;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]