}
+- (void)viewWillDraw
+{
+ /* If the frame has been garbaged there's no point in redrawing
+ anything. */
+ if (FRAME_GARBAGED_P (emacsframe))
+ [self setNeedsDisplay:NO];
+}
+
- (void)drawRect: (NSRect)rect
{
const NSRect *rectList;
struct frame *f = XFRAME (w->frame);
bool mouse_face_overwritten_p = false;
- /* NS toolkits may have aleady modified the frame in expectation of
- a successful redraw, so don't bail out here if the frame is
- garbaged. */
- while (w
-#if !defined (HAVE_NS)
- && !FRAME_GARBAGED_P (f)
-#endif
- )
+ while (w && !FRAME_GARBAGED_P (f))
{
mouse_face_overwritten_p
|= (WINDOWP (w->contents)
TRACE ((stderr, "expose_frame "));
-#if !defined (HAVE_NS)
- /* No need to redraw if frame will be redrawn soon except under NS
- where the toolkit may have already modified the frame in
- expectation of us redrawing it. */
if (FRAME_GARBAGED_P (f))
{
TRACE ((stderr, " garbaged\n"));
return;
}
-#endif
/* If basic faces haven't been realized yet, there is no point in
trying to redraw anything. This can happen when we get an expose