From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Dmitry Antipov Newsgroups: gmane.emacs.devel Subject: GTK scroll bar artifacts [Was: Re: GTK scroll bar question] Date: Thu, 31 Jul 2014 18:20:32 +0400 Message-ID: <53DA50B0.7040606@yandex.ru> References: <53D8D2DE.4090700@yandex.ru> <53D8E765.2030303@gmx.at> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------070104090306050307030408" X-Trace: ger.gmane.org 1406816470 11580 80.91.229.3 (31 Jul 2014 14:21:10 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 31 Jul 2014 14:21:10 +0000 (UTC) Cc: Emacs development discussions To: martin rudalics , =?UTF-8?B?SmFuIERqw6Rydg==?= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Jul 31 16:21:04 2014 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1XCrE6-00076V-2M for ged-emacs-devel@m.gmane.org; Thu, 31 Jul 2014 16:21:02 +0200 Original-Received: from localhost ([::1]:57059 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XCrE5-0001kc-Cb for ged-emacs-devel@m.gmane.org; Thu, 31 Jul 2014 10:21:01 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:38892) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XCrDw-0001jH-Jk for emacs-devel@gnu.org; Thu, 31 Jul 2014 10:20:58 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XCrDq-0001iw-HD for emacs-devel@gnu.org; Thu, 31 Jul 2014 10:20:52 -0400 Original-Received: from forward3l.mail.yandex.net ([84.201.143.136]:41556) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XCrDq-0001ii-79 for emacs-devel@gnu.org; Thu, 31 Jul 2014 10:20:46 -0400 Original-Received: from smtp2h.mail.yandex.net (smtp2h.mail.yandex.net [84.201.187.145]) by forward3l.mail.yandex.net (Yandex) with ESMTP id C548C1501167; Thu, 31 Jul 2014 18:20:44 +0400 (MSK) Original-Received: from smtp2h.mail.yandex.net (localhost [127.0.0.1]) by smtp2h.mail.yandex.net (Yandex) with ESMTP id 39FF2170391F; Thu, 31 Jul 2014 18:20:44 +0400 (MSK) Original-Received: from 31.gprs.mts.ru (31.gprs.mts.ru [213.87.131.31]) by smtp2h.mail.yandex.net (nwsmtp/Yandex) with ESMTPSA id dPIF4OHThw-KgruOZh7; Thu, 31 Jul 2014 18:20:43 +0400 (using TLSv1.2 with cipher AES128-SHA (128/128 bits)) (Client certificate not present) X-Yandex-Uniq: d79c221c-8d08-4e42-9573-5c0c28bad663 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1406816443; bh=pgGAtJvD0I0Yht7bZw2B9RphkyS9cumv5kXk3eDItpE=; h=Message-ID:Date:From:User-Agent:MIME-Version:To:CC:Subject: References:In-Reply-To:Content-Type; b=gUkobw1CTkvjbtxFkORdoJZHvcW9uOv0Xo5hAJokqA/LzBI3oTJtzFCBTgs2ch2qc iN0pV7KEGEerWgzST5SvxoJYC/kx2+PdrGjQOUsRBpGqWZ5G/UTmmiPZVV4tHsj0mr +TpgZaCFhvHfDsI08YsmBeuiTjvu2CpWhzuNiQk0= Authentication-Results: smtp2h.mail.yandex.net; dkim=pass header.i=@yandex.ru User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.0 In-Reply-To: <53D8E765.2030303@gmx.at> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [generic] [fuzzy] X-Received-From: 84.201.143.136 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:173319 Archived-At: This is a multi-part message in MIME format. --------------070104090306050307030408 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit On 07/30/2014 04:39 PM, martin rudalics wrote: > I suppose it's related to changes in GTK3. I often see this: > > http://lists.gnu.org/archive/html/emacs-devel/2014-01/msg02228.html > > And there's also bug#17982. From GTK3's gtkeventbox.c: * You should generally make your event box invisible if * you just want to trap events. Creating a visible window * may cause artifacts that are visible to the user, especially * if the user is using a theme with gradients or pixmaps. This helps in my case. OK to install? Dmitry --------------070104090306050307030408 Content-Type: text/x-patch; name="event_box_visibility.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="event_box_visibility.patch" === modified file 'src/gtkutil.c' --- src/gtkutil.c 2014-07-27 13:21:30 +0000 +++ src/gtkutil.c 2014-07-31 14:17:38 +0000 @@ -3656,6 +3656,8 @@ gtk_fixed_put (GTK_FIXED (f->output_data.x->edit_widget), webox, -1, -1); gtk_container_add (GTK_CONTAINER (webox), wscroll); + /* Make event box invisible to avoid display artifacts. */ + gtk_event_box_set_visible_window (GTK_EVENT_BOX (webox), FALSE); /* Set the cursor to an arrow. */ xg_set_cursor (webox, FRAME_DISPLAY_INFO (f)->xg_cursor); @@ -3723,6 +3725,8 @@ gtk_fixed_put (GTK_FIXED (f->output_data.x->edit_widget), webox, -1, -1); gtk_container_add (GTK_CONTAINER (webox), wscroll); + /* Make event box invisible to avoid display artifacts. */ + gtk_event_box_set_visible_window (GTK_EVENT_BOX (webox), FALSE); /* Set the cursor to an arrow. */ xg_set_cursor (webox, FRAME_DISPLAY_INFO (f)->xg_cursor); --------------070104090306050307030408--