[gtk+] x11: round the scaled size *up* when we get a ConfigureNotify
- From: Alexander Larsson <alexl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] x11: round the scaled size *up* when we get a ConfigureNotify
- Date: Thu, 20 Nov 2014 11:42:00 +0000 (UTC)
commit 608c25453b0e95a7fcc0ce9e81b3aa73e9bb39d6
Author: Owen W. Taylor <otaylor fishsoup net>
Date: Thu Nov 6 16:17:33 2014 -0500
x11: round the scaled size *up* when we get a ConfigureNotify
Although we specify a resize increment to try and get a size that is
a multiple of the window scale, maximization typically wins
over the resize increment, so the window might be odd sized.
Round *up* in this case, rather than down, since it's better to
truncate a line or two at the bottom and right of the window rather
than have a line or two that we don't know what to do with.
https://bugzilla.gnome.org/show_bug.cgi?id=739750
gdk/x11/gdkdisplay-x11.c | 12 ++++++------
1 files changed, 6 insertions(+), 6 deletions(-)
---
diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c
index 2ebbed9..d5cf7d6 100644
--- a/gdk/x11/gdkdisplay-x11.c
+++ b/gdk/x11/gdkdisplay-x11.c
@@ -767,8 +767,8 @@ gdk_x11_display_translate_event (GdkEventTranslator *translator,
: ""));
if (window && GDK_WINDOW_TYPE (window) == GDK_WINDOW_ROOT)
{
- window->width = xevent->xconfigure.width / window_impl->window_scale;
- window->height = xevent->xconfigure.height / window_impl->window_scale;
+ window->width = (xevent->xconfigure.width + window_impl->window_scale - 1) /
window_impl->window_scale;
+ window->height = (xevent->xconfigure.height + window_impl->window_scale - 1) /
window_impl->window_scale;
_gdk_window_update_size (window);
_gdk_x11_window_update_size (GDK_WINDOW_IMPL_X11 (window->impl));
@@ -793,8 +793,8 @@ gdk_x11_display_translate_event (GdkEventTranslator *translator,
{
event->configure.type = GDK_CONFIGURE;
event->configure.window = window;
- event->configure.width = xevent->xconfigure.width / window_impl->window_scale;
- event->configure.height = xevent->xconfigure.height / window_impl->window_scale;
+ event->configure.width = (xevent->xconfigure.width + window_impl->window_scale - 1) /
window_impl->window_scale;
+ event->configure.height = (xevent->xconfigure.height + window_impl->window_scale - 1) /
window_impl->window_scale;
if (!xevent->xconfigure.send_event &&
!xevent->xconfigure.override_redirect &&
@@ -826,8 +826,8 @@ gdk_x11_display_translate_event (GdkEventTranslator *translator,
{
window->x = event->configure.x;
window->y = event->configure.y;
- window->width = xevent->xconfigure.width / window_impl->window_scale;
- window->height = xevent->xconfigure.height / window_impl->window_scale;
+ window->width = event->configure.width;
+ window->height = event->configure.height;
_gdk_window_update_size (window);
_gdk_x11_window_update_size (GDK_WINDOW_IMPL_X11 (window->impl));
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]