emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r109972: * nsterm.m (ns_update_begin)


From: Jan D.
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r109972: * nsterm.m (ns_update_begin): Set clip path to whole view by using
Date: Mon, 10 Sep 2012 23:01:45 +0200
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 109972
fixes bug: http://debbugs.gnu.org/12131
committer: Jan D. <address@hidden>
branch nick: trunk
timestamp: Mon 2012-09-10 23:01:45 +0200
message:
  * nsterm.m (ns_update_begin): Set clip path to whole view by using
  NSBezierPath.
modified:
  src/ChangeLog
  src/nsterm.m
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2012-09-10 03:25:10 +0000
+++ b/src/ChangeLog     2012-09-10 21:01:45 +0000
@@ -1,3 +1,8 @@
+2012-09-10  Jan Djärv  <address@hidden>
+
+       * nsterm.m (ns_update_begin): Set clip path to whole view by using
+       NSBezierPath (Bug#12131).
+
 2012-09-10  Chong Yidong  <address@hidden>
 
        * fns.c (Fdelq, Fdelete): Doc fix.

=== modified file 'src/nsterm.m'
--- a/src/nsterm.m      2012-09-09 08:44:22 +0000
+++ b/src/nsterm.m      2012-09-10 21:01:45 +0000
@@ -627,6 +627,8 @@
    -------------------------------------------------------------------------- 
*/
 {
   NSView *view = FRAME_NS_VIEW (f);
+  NSRect r = [view frame];
+  NSBezierPath *bp = [NSBezierPath bezierPath];
   NSTRACE (ns_update_begin);
 
   ns_update_auto_hide_menu_bar ();
@@ -634,6 +636,13 @@
   ns_updating_frame = f;
   [view lockFocus];
 
+  /* drawRect may have been called for say the minibuffer, and then clip path
+     is for the minibuffer.  But the display engine may draw more because
+     we have set the frame as garbaged.  So reset clip path to the whole
+     view.  */
+  [bp appendBezierPathWithRect: r];
+  [bp setClip];
+
 #ifdef NS_IMPL_GNUSTEP
   uRect = NSMakeRect (0, 0, 0, 0);
 #endif


reply via email to

[Prev in Thread] Current Thread [Next in Thread]