Revert upstream commit 254b9a4c540e3dff1dcd17db2ceea6a9fa5df973 to fix

an infinite loop as experienced by Alexander Polakov.
See https://bugzilla.gnome.org/show_bug.cgi?id=652872.
This commit is contained in:
ajacoutot 2011-06-27 07:04:40 +00:00
parent cbc9c68b2f
commit 18c9c511fd
2 changed files with 51 additions and 1 deletions

View File

@ -1,4 +1,4 @@
# $OpenBSD: Makefile,v 1.133 2011/06/16 08:38:41 ajacoutot Exp $
# $OpenBSD: Makefile,v 1.134 2011/06/27 07:04:40 ajacoutot Exp $
SHARED_ONLY= Yes
@ -13,6 +13,8 @@ PKGNAME-main= gtk+2-${V}
PKGNAME-docs= gtk+2-docs-${V}
PKGNAME-cups= gtk+2-cups-${V}
REVISION-main= 0
CATEGORIES= x11 devel
SHARED_LIBS += gdk-x11-2.0 2400.0 # 2400.0

View File

@ -0,0 +1,48 @@
$OpenBSD: patch-gdk_gdkwindow_c,v 1.1 2011/06/27 07:04:40 ajacoutot Exp $
Revert (https://bugzilla.gnome.org/show_bug.cgi?id=652872):
From 254b9a4c540e3dff1dcd17db2ceea6a9fa5df973 Mon Sep 17 00:00:00 2001
From: Benjamin Otte <otte@redhat.com>
Date: Thu, 09 Jun 2011 04:29:45 +0000
Subject: gdk: Make background changes queue a repaint
--- gdk/gdkwindow.c.orig Thu Jun 16 00:37:19 2011
+++ gdk/gdkwindow.c Mon Jun 27 08:39:46 2011
@@ -8004,15 +8004,11 @@ gdk_window_set_background (GdkWindow *window,
}
if (!GDK_WINDOW_DESTROYED (window) &&
+ gdk_window_has_impl (private) &&
!private->input_only)
{
- if (gdk_window_has_impl (private))
- {
- impl_iface = GDK_WINDOW_IMPL_GET_IFACE (private->impl);
- impl_iface->set_background (window, &private->bg_color);
- }
- else
- gdk_window_invalidate_rect_full (window, NULL, TRUE, CLEAR_BG_ALL);
+ impl_iface = GDK_WINDOW_IMPL_GET_IFACE (private->impl);
+ impl_iface->set_background (window, &private->bg_color);
}
}
@@ -8081,15 +8077,11 @@ gdk_window_set_back_pixmap (GdkWindow *window,
private->bg_pixmap = GDK_NO_BG;
if (!GDK_WINDOW_DESTROYED (window) &&
+ gdk_window_has_impl (private) &&
!private->input_only)
{
- if (gdk_window_has_impl (private))
- {
- impl_iface = GDK_WINDOW_IMPL_GET_IFACE (private->impl);
- impl_iface->set_back_pixmap (window, private->bg_pixmap);
- }
- else
- gdk_window_invalidate_rect_full (window, NULL, TRUE, CLEAR_BG_ALL);
+ impl_iface = GDK_WINDOW_IMPL_GET_IFACE (private->impl);
+ impl_iface->set_back_pixmap (window, private->bg_pixmap);
}
}