From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: make-pointer-invisible on Windows Date: Tue, 30 Jun 2015 18:09:30 +0300 Message-ID: <834mlp44id.fsf@gnu.org> References: <558A75C6.7040003@gmx.at> <83zj3pdusu.fsf@gnu.org> <558AEB8D.4070603@gmx.at> <83k2usewtv.fsf@gnu.org> <558BA156.6090508@gmx.at> <83a8vnesqm.fsf@gnu.org> <558CF75E.90801@gmx.at> <83wpyqdflh.fsf@gnu.org> <558D181A.4070402@gmx.at> <83twtudd0i.fsf@gnu.org> <83wpyn6g47.fsf@gnu.org> <559113CD.2070803@gmx.at> <838ub260d5.fsf@gnu.org> <55917D50.9030701@gmx.at> <83fv5a4dlr.fsf@gnu.org> <559230D1.7050701@gmx.at> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1435676983 20041 80.91.229.3 (30 Jun 2015 15:09:43 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 30 Jun 2015 15:09:43 +0000 (UTC) Cc: emacs-devel@gnu.org To: martin rudalics Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Jun 30 17:09:35 2015 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 1Z9xAF-0004CT-5s for ged-emacs-devel@m.gmane.org; Tue, 30 Jun 2015 17:09:35 +0200 Original-Received: from localhost ([::1]:47453 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z9xAE-0003Px-93 for ged-emacs-devel@m.gmane.org; Tue, 30 Jun 2015 11:09:34 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:33206) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z9xAB-0003Oq-6j for emacs-devel@gnu.org; Tue, 30 Jun 2015 11:09:32 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z9xA8-00063K-0F for emacs-devel@gnu.org; Tue, 30 Jun 2015 11:09:31 -0400 Original-Received: from mtaout23.012.net.il ([80.179.55.175]:58002) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z9xA7-000639-Nt for emacs-devel@gnu.org; Tue, 30 Jun 2015 11:09:27 -0400 Original-Received: from conversion-daemon.a-mtaout23.012.net.il by a-mtaout23.012.net.il (HyperSendmail v2007.08) id <0NQR00400J1ZUE00@a-mtaout23.012.net.il> for emacs-devel@gnu.org; Tue, 30 Jun 2015 18:09:25 +0300 (IDT) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout23.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NQR00427JFPPB80@a-mtaout23.012.net.il>; Tue, 30 Jun 2015 18:09:25 +0300 (IDT) In-reply-to: <559230D1.7050701@gmx.at> X-012-Sender: halo1@inter.net.il X-detected-operating-system: by eggs.gnu.org: Solaris 10 X-Received-From: 80.179.55.175 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:187678 Archived-At: > Date: Tue, 30 Jun 2015 08:01:53 +0200 > From: martin rudalics > CC: emacs-devel@gnu.org > > > Maybe I'm missing something, but this: > > > > case WM_ERASEBKGND: > > f = x_window_to_frame (dpyinfo, hwnd); > > if (f) > > { > > HDC hdc = get_frame_dc (f); > > GetUpdateRect (hwnd, &wmsg.rect, FALSE); > > w32_clear_rect (f, hdc, &wmsg.rect); <<<<<<<<<<<<<<<<<<<< > > release_frame_dc (f, hdc); > > > > looks to me like us erasing the rectangle. > > Then if we didn't erase here there would be no gaps. Would it be a > silly idea to pass the erase call to the main thread? We've been through this: it's not silly, but implementing that will have to be able to compact several such redraw pairs into one, because by the time the main thread wakes up, we could have received several different expose events, and handling them one by one will cause flickering. And after all that, we are still left with the use case of resizing the frame.