diff options
| author | Jan Djärv | 2013-08-08 19:52:00 +0200 |
|---|---|---|
| committer | Jan Djärv | 2013-08-08 19:52:00 +0200 |
| commit | 10bf7f5a3d084050215a0fda1d313c7818801c42 (patch) | |
| tree | 09e80b10f4027b8c1793fbc941047d7044c35179 /src | |
| parent | a3738d206cf04ed2a0309267d1993a24e2b536d2 (diff) | |
| download | emacs-10bf7f5a3d084050215a0fda1d313c7818801c42.tar.gz emacs-10bf7f5a3d084050215a0fda1d313c7818801c42.zip | |
* nsterm.m (ns_update_begin): Don't change clip path if it would be
larger than the NSWindow.
Fixes: debbugs:14934
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 5 | ||||
| -rw-r--r-- | src/nsterm.m | 19 |
2 files changed, 19 insertions, 5 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index caf7b034401..d57086f7141 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2013-08-08 Jan Djärv <jan.h.d@swipnet.se> | ||
| 2 | |||
| 3 | * nsterm.m (ns_update_begin): Don't change clip path if it would be | ||
| 4 | larger than the NSWindow (Bug#14934). | ||
| 5 | |||
| 1 | 2013-08-08 Dmitry Antipov <dmantipov@yandex.ru> | 6 | 2013-08-08 Dmitry Antipov <dmantipov@yandex.ru> |
| 2 | 7 | ||
| 3 | Redesign redisplay interface to drop global variable updated_window. | 8 | Redesign redisplay interface to drop global variable updated_window. |
diff --git a/src/nsterm.m b/src/nsterm.m index 56572d5b9f4..4a1c04ffb8f 100644 --- a/src/nsterm.m +++ b/src/nsterm.m | |||
| @@ -691,9 +691,18 @@ ns_update_begin (struct frame *f) | |||
| 691 | { | 691 | { |
| 692 | NSBezierPath *bp; | 692 | NSBezierPath *bp; |
| 693 | NSRect r = [view frame]; | 693 | NSRect r = [view frame]; |
| 694 | bp = [[NSBezierPath bezierPathWithRect: r] retain]; | 694 | NSRect cr = [[view window] frame]; |
| 695 | [bp setClip]; | 695 | /* If a large frame size is set, r may be larger than the window frame |
| 696 | [bp release]; | 696 | before constrained. In that case don't change the clip path, as we |
| 697 | will clear in to the tool bar and title bar. */ | ||
| 698 | if (r.size.height | ||
| 699 | + FRAME_NS_TITLEBAR_HEIGHT (f) | ||
| 700 | + FRAME_TOOLBAR_HEIGHT (f) <= cr.size.height) | ||
| 701 | { | ||
| 702 | bp = [[NSBezierPath bezierPathWithRect: r] retain]; | ||
| 703 | [bp setClip]; | ||
| 704 | [bp release]; | ||
| 705 | } | ||
| 697 | } | 706 | } |
| 698 | #endif | 707 | #endif |
| 699 | 708 | ||
| @@ -784,9 +793,9 @@ ns_update_end (struct frame *f) | |||
| 784 | EmacsView *view = FRAME_NS_VIEW (f); | 793 | EmacsView *view = FRAME_NS_VIEW (f); |
| 785 | 794 | ||
| 786 | /* if (f == MOUSE_HL_INFO (f)->mouse_face_mouse_frame) */ | 795 | /* if (f == MOUSE_HL_INFO (f)->mouse_face_mouse_frame) */ |
| 787 | MOUSE_HL_INFO (f)->mouse_face_defer = 0; | 796 | MOUSE_HL_INFO (f)->mouse_face_defer = 0; |
| 788 | 797 | ||
| 789 | block_input (); | 798 | block_input (); |
| 790 | 799 | ||
| 791 | [view unlockFocus]; | 800 | [view unlockFocus]; |
| 792 | [[view window] flushWindow]; | 801 | [[view window] flushWindow]; |