emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] trunk r113763: * nsterm.m (ns_update_begin): Don't change


From: Jan D.
Subject: [Emacs-diffs] trunk r113763: * nsterm.m (ns_update_begin): Don't change clip path if it would be
Date: Thu, 08 Aug 2013 17:52:01 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 113763
revision-id: address@hidden
parent: address@hidden
fixes bug: http://debbugs.gnu.org/14934
committer: Jan D. <address@hidden>
branch nick: trunk
timestamp: Thu 2013-08-08 19:52:00 +0200
message:
  * nsterm.m (ns_update_begin): Don't change clip path if it would be
  larger than the NSWindow.
modified:
  src/ChangeLog                  changelog-20091113204419-o5vbwnq5f7feedwu-1438
  src/nsterm.m                   nsterm.m-20091113204419-o5vbwnq5f7feedwu-8747
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2013-08-08 14:51:07 +0000
+++ b/src/ChangeLog     2013-08-08 17:52:00 +0000
@@ -1,3 +1,8 @@
+2013-08-08  Jan Djärv  <address@hidden>
+
+       * nsterm.m (ns_update_begin): Don't change clip path if it would be
+       larger than the NSWindow (Bug#14934).
+
 2013-08-08  Dmitry Antipov  <address@hidden>
 
        Redesign redisplay interface to drop global variable updated_window.

=== modified file 'src/nsterm.m'
--- a/src/nsterm.m      2013-08-08 14:51:07 +0000
+++ b/src/nsterm.m      2013-08-08 17:52:00 +0000
@@ -691,9 +691,18 @@
   {
     NSBezierPath *bp;
     NSRect r = [view frame];
-  bp = [[NSBezierPath bezierPathWithRect: r] retain];
-  [bp setClip];
-  [bp release];
+    NSRect cr = [[view window] frame];
+    /* If a large frame size is set, r may be larger than the window frame
+       before constrained.  In that case don't change the clip path, as we
+       will clear in to the tool bar and title bar.  */
+    if (r.size.height
+        + FRAME_NS_TITLEBAR_HEIGHT (f)
+        + FRAME_TOOLBAR_HEIGHT (f) <= cr.size.height)
+      {
+        bp = [[NSBezierPath bezierPathWithRect: r] retain];
+        [bp setClip];
+        [bp release];
+      }
   }
 #endif
 
@@ -784,9 +793,9 @@
   EmacsView *view = FRAME_NS_VIEW (f);
 
 /*   if (f == MOUSE_HL_INFO (f)->mouse_face_mouse_frame) */
-    MOUSE_HL_INFO (f)->mouse_face_defer = 0;
+  MOUSE_HL_INFO (f)->mouse_face_defer = 0;
 
-    block_input ();
+  block_input ();
 
   [view unlockFocus];
   [[view window] flushWindow];


reply via email to

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