forked from AuroraMiddleware/gtk
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
This commit is contained in:
parent
f5d96f7110
commit
608c25453b
@ -767,8 +767,8 @@ gdk_x11_display_translate_event (GdkEventTranslator *translator,
|
|||||||
: ""));
|
: ""));
|
||||||
if (window && GDK_WINDOW_TYPE (window) == GDK_WINDOW_ROOT)
|
if (window && GDK_WINDOW_TYPE (window) == GDK_WINDOW_ROOT)
|
||||||
{
|
{
|
||||||
window->width = xevent->xconfigure.width / 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;
|
window->height = (xevent->xconfigure.height + window_impl->window_scale - 1) / window_impl->window_scale;
|
||||||
|
|
||||||
_gdk_window_update_size (window);
|
_gdk_window_update_size (window);
|
||||||
_gdk_x11_window_update_size (GDK_WINDOW_IMPL_X11 (window->impl));
|
_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.type = GDK_CONFIGURE;
|
||||||
event->configure.window = window;
|
event->configure.window = window;
|
||||||
event->configure.width = xevent->xconfigure.width / 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;
|
event->configure.height = (xevent->xconfigure.height + window_impl->window_scale - 1) / window_impl->window_scale;
|
||||||
|
|
||||||
if (!xevent->xconfigure.send_event &&
|
if (!xevent->xconfigure.send_event &&
|
||||||
!xevent->xconfigure.override_redirect &&
|
!xevent->xconfigure.override_redirect &&
|
||||||
@ -826,8 +826,8 @@ gdk_x11_display_translate_event (GdkEventTranslator *translator,
|
|||||||
{
|
{
|
||||||
window->x = event->configure.x;
|
window->x = event->configure.x;
|
||||||
window->y = event->configure.y;
|
window->y = event->configure.y;
|
||||||
window->width = xevent->xconfigure.width / window_impl->window_scale;
|
window->width = event->configure.width;
|
||||||
window->height = xevent->xconfigure.height / window_impl->window_scale;
|
window->height = event->configure.height;
|
||||||
|
|
||||||
_gdk_window_update_size (window);
|
_gdk_window_update_size (window);
|
||||||
_gdk_x11_window_update_size (GDK_WINDOW_IMPL_X11 (window->impl));
|
_gdk_x11_window_update_size (GDK_WINDOW_IMPL_X11 (window->impl));
|
||||||
|
Loading…
Reference in New Issue
Block a user