Index: XGServerWindow.m =================================================================== RCS file: /cvsroot/gnustep/gnustep/core/back/Source/x11/XGServerWindow.m,v retrieving revision 1.18 diff -r1.18 XGServerWindow.m 396a397,415 > * Convert a window frame in X coordinates relative to the X-window to a frame > * in OpenStep coordinates relative to the window by flipping. > */ > - (NSRect) _XWinFrameToOSWinFrame: (NSRect)x for: (void*)window > { > gswindow_device_t *win = (gswindow_device_t*)window; > NSRect o; > o.size.width = x.size.width; > o.size.height = x.size.height; > o.origin.x = x.origin.x; > o.origin.y = win->siz_hints.height - x.origin.y; > o.origin.y = o.origin.y - o.size.height; > NSDebugLLog(@"GGFrame", @"%@ %@", NSStringFromRect(x), NSStringFromRect(o)); > return o; > } > > > > /* 417a437 > 2018,2020c2038,2046 < rect.origin = NSMakePoint((float)rectangle.x, rectangle.y); < rect.size = NSMakeSize(rectangle.width, rectangle.height); < [window->exposedRects addObject: [NSValue valueWithRect: rect]]; --- > { > rect = [self _XWinFrameToOSWinFrame: NSMakeRect(rectangle.x, rectangle.y, > rectangle.width, rectangle.height) > for: window]; > // NSLog(@"therect = %@", NSStringFromRect(rect)); > // rect.origin = NSMakePoint((float)rectangle.x, rectangle.y); > // rect.size = NSMakeSize(rectangle.width, rectangle.height); > [window->exposedRects addObject: [NSValue valueWithRect: rect]]; > } 2084a2111 > int n; 2085a2113 > NSWindow *gui_win; 2101d2128 < [GSWindowWithNumber(win) display]; 2102a2130,2151 > // Assuming that the NSView object works. We simply invalidate the > // corresponding rectangle of the contentview. > > gui_win = GSWindowWithNumber(win); > > n = [window->exposedRects count]; > if( n > 0 ) > { > NSView *v; > NSValue *val[n]; > int i; > > v = [gui_win contentView]; > > [window->exposedRects getObjects: val]; > for( i = 0; i < n; ++i) > { > NSRect rect = [val[i] rectValue]; > [v setNeedsDisplayInRect: rect]; > } > } >