mirror of
https://github.com/gnustep/libs-back.git
synced 2025-02-23 11:51:27 +00:00
Send expose events to the front end.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/back/trunk@23601 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
012ff3eecb
commit
1b6a91ff4d
2 changed files with 32 additions and 0 deletions
10
ChangeLog
10
ChangeLog
|
@ -1,3 +1,13 @@
|
|||
2006-09-24 Richard Frith-Macdonald <rfm@gnu.org>
|
||||
|
||||
* Source/x11/XGServerEvent.m: Use #if to disable old window exposure
|
||||
mechanism in favour of sending exposure events to the front end.
|
||||
Hopefully this will fix a bug where the old bypassing of the gui
|
||||
event queue could cause an attempt to copy from a region outside
|
||||
the image buffer.
|
||||
If there are no problems with this, we should remove the old, complex
|
||||
mechanism.
|
||||
|
||||
2006-09-13 Richard Frith-Macdonald <rfm@gnu.org>
|
||||
|
||||
* Source/x11/XGServerWindow.m: use generic.wintypes.win_modal_atom
|
||||
|
|
|
@ -161,6 +161,7 @@ static int check_modifier (XEvent *xEvent, KeySym key_sym,
|
|||
@interface XGServer (WindowOps)
|
||||
- (void) styleoffsets: (float *) l : (float *) r : (float *) t : (float *) b
|
||||
: (unsigned int) style : (Window) win;
|
||||
- (NSRect) _XWinRectToOSWinRect: (NSRect)r for: (void*)windowNumber;
|
||||
@end
|
||||
|
||||
@implementation XGServer (EventOps)
|
||||
|
@ -949,10 +950,31 @@ static int check_modifier (XEvent *xEvent, KeySym key_sym,
|
|||
NSDebugLLog(@"NSEvent", @"Expose frame %d %d %d %d\n",
|
||||
rectangle.x, rectangle.y,
|
||||
rectangle.width, rectangle.height);
|
||||
#if 0
|
||||
[self _addExposedRectangle: rectangle : cWin->number];
|
||||
|
||||
if (xEvent.xexpose.count == 0)
|
||||
[self _processExposedRectangles: cWin->number];
|
||||
#else
|
||||
{
|
||||
NSRect rect;
|
||||
NSTimeInterval ts = (NSTimeInterval)generic.lastMotion;
|
||||
|
||||
rect = [self _XWinRectToOSWinRect: NSMakeRect(
|
||||
rectangle.x, rectangle.y, rectangle.width, rectangle.height)
|
||||
for: cWin];
|
||||
e = [NSEvent otherEventWithType: NSAppKitDefined
|
||||
location: rect.origin
|
||||
modifierFlags: eventFlags
|
||||
timestamp: ts
|
||||
windowNumber: cWin->number
|
||||
context: gcontext
|
||||
subtype: GSAppKitRegionExposed
|
||||
data1: rect.size.width
|
||||
data2: rect.size.height];
|
||||
}
|
||||
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue