[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Dotgnu-pnet-commits] pnetlib/Xsharp TopLevelWindow.cs,1.9,1.10
From: |
Rhys Weatherley <address@hidden> |
Subject: |
[Dotgnu-pnet-commits] pnetlib/Xsharp TopLevelWindow.cs,1.9,1.10 |
Date: |
Fri, 21 Nov 2003 03:20:50 +0000 |
Update of /cvsroot/dotgnu-pnet/pnetlib/Xsharp
In directory subversions:/tmp/cvs-serv16286/Xsharp
Modified Files:
TopLevelWindow.cs
Log Message:
Wait until idle time on top-level widgets before calling "OnResize",
to prevent event queue backups on window managers that use opaque resizes.
Index: TopLevelWindow.cs
===================================================================
RCS file: /cvsroot/dotgnu-pnet/pnetlib/Xsharp/TopLevelWindow.cs,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** TopLevelWindow.cs 23 Jun 2003 05:35:20 -0000 1.9
--- TopLevelWindow.cs 21 Nov 2003 03:20:48 -0000 1.10
***************
*** 46,49 ****
--- 46,50 ----
private MotifInputType inputType;
private TopLevelWindow transientFor;
+ private Timer resizeTimer;
/// <summary>
***************
*** 836,839 ****
--- 837,852 ----
}
+ // Perform an actual resize operation. This will be called at the
+ // next convenient idle period, to avoid overflowing the event queue.
+ private void PerformResize(Object state)
+ {
+ if(resizeTimer != null)
+ {
+ resizeTimer.Stop();
+ resizeTimer = null;
+ }
+ OnResize(width, height);
+ }
+
// Dispatch an event to this widget.
internal override void DispatchEvent(ref XEvent xevent)
***************
*** 978,982 ****
width =
xevent.xconfigure.width;
height =
xevent.xconfigure.height;
! OnResize(width, height);
}
if(xevent.send_event ||
!reparented)
--- 991,1000 ----
width =
xevent.xconfigure.width;
height =
xevent.xconfigure.height;
! if(resizeTimer == null)
! {
! resizeTimer =
new Timer
! (new
TimerCallback(PerformResize), null,
! 0, -1);
! }
}
if(xevent.send_event ||
!reparented)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Dotgnu-pnet-commits] pnetlib/Xsharp TopLevelWindow.cs,1.9,1.10,
Rhys Weatherley <address@hidden> <=