[corlib] Improve CancellationTokenSource test
[mono.git] / mcs / class / System.Windows.Forms / System.Windows.Forms.X11Internal / ChangeLog
1 2008-06-04  George Giolfan  <georgegiolfan@yahoo.com>
2
3         * XplatUIX11-new.cs: Removed MinimizedWindowSize.
4
5 2008-06-04  George Giolfan  <georgegiolfan@yahoo.com>
6
7         * XplatUIX11-new.cs: Removed MinWindowTrackSize.
8
9 2007-08-18  Everaldo Canuto  <ecanuto@novell.com>
10
11         * X11Display.cs: Apply patch from Jurek Bartuszek to fix DrawReversibleFrame
12         and DrawReversibleLine, also apply same behavior to FillReversibleRectangle. 
13         Fixes #80877 and #79418.
14
15 2007-08-17  Rolf Bjarne Kvinge <RKvinge@novell.com> 
16
17         * X11Display.cs, X11Hwnd.cs, XplatUIX11-new.cs: Update PaintEventStart/End
18           to take a Message argument.
19
20 2007-05-25  Jackson Harper  <jackson@ximian.com>
21
22         * X11Display.cs: Remove some of the dnd hooks.
23
24 2007-05-03  Jonathan Pobst  <monkey@jpobst.com>
25
26         * XplatUIX11-new.cs: Implement RaiseIdle.
27
28 2007-04-20  Gert Driesen  <drieseng@users.sourceforge.net>
29
30         * XplatUIX11-new.cs: Renamed Caption to CaptionHeight.
31
32 2007-04-20  Gert Driesen  <drieseng@users.soourceforge.net>
33
34         * XplatUIX11-new.cs: Implemented MenuAccessKeysUnderlined by always
35         return false.
36
37 2007-04-20  Rolf Bjarne Kvinge <RKvinge@novell.com> 
38
39         * X11Display.cs: Remove warnings.
40
41 2007-04-20  Rolf Bjarne Kvinge <RKvinge@novell.com> 
42
43         * X11Display.cs, XplatUIX11-new.cs: Add and implement
44           DefineStdCursorBitmap.
45
46 2007-04-03  Sebastien Pouliot  <sebastien@ximian.com>
47
48         * Xlib.cs: Remove import of libgdiplus' GetFontMetrics (it doesn't 
49         exists anymore).
50         * XplatUIX11-new.cs: Re-implement GetFontMetrics with existing APIs.
51
52 2007-04-03  Rolf Bjarne Kvinge <RKvinge@novell.com> 
53
54         * XplatUIX11-new.cs: Port changes from XplatUIX11.cs
55
56 2007-03-29  Everaldo Canuto  <everaldo@simios.org>
57
58         * XplatUIX11-new.cs: Prevent system to open more than one balloon.
59
60 2007-03-29  Everaldo Canuto  <everaldo@simios.org>
61
62         * XplatUIX11-new.cs: Implement SystrayBalloon for X11 systems. 
63
64 2007-03-20  Everaldo Canuto  <everaldo@simios.org>
65
66         * XplatUIX11-new.cs: Remove unneeded parameter owner in SetTopmost. 
67
68 2007-03-20  Everaldo Canuto  <everaldo@simios.org>
69
70         * XplatUIX11-new.cs, X11Hwnd.cs: Set _NET_WM_STATE_ABOVE on SetTopmost, it 
71         fixes Topmost behavior in X11 environments. 
72
73 2007-03-19  Everaldo Canuto  <everaldo@simios.org>
74
75         * XplatUIX11-new.cs, X11Hwnd.cs: SetOwner implemented using same code from
76         SetTopmost but cheking for null owner to remove transient. The SetTopmost
77         will be change on a decond step.
78
79 2007-03-15  Andreia Gaita  <avidigal@novell.com>
80
81         * X11Display.cs: Fire extra MouseMove events right after
82         MouseDown and MouseUp, emulating win32's <censored> behaviour
83         for apps that rely on it.
84         
85 2007-03-15  Chris Toshok  <toshok@ximian.com>
86
87         * XplatUIX11-new.cs: implement VirtualScreen by getting
88         X11Display.VirtualScreen instead of using WorkingArea.
89
90         * X11Display.cs: implement VirtualScreen.
91
92 2007-03-15  Ivan N. Zlatev <contact@i-nz.net>
93
94         * X11Display.cs: Replaces all uses of the custom 
95         WM_MOUSE_LEAVE with the system WM_MOUSELEAVE message.
96
97 2007-03-02  Rolf Bjarne Kvinge <RKvinge@novell.com> 
98
99         * X11Hwnd.cs: Update to use ToolWindowManager.
100
101 2007-02-08  Chris Toshok  <toshok@ximian.com>
102
103         * X11Display.cs: port over some more changes from XplatUIX11.cs.
104
105 2007-01-31  Jackson Harper  <jackson@ximian.com>
106
107         * X11Display.cs: Give teh keyboard to teh dnd.
108
109 2007-01-30  Chris Toshok  <toshok@ximian.com>
110
111         * X11Display.cs: port over jackson's XplatUIX11.cs fix for DND
112         ButtonRelease handling.
113
114 2007-01-30  Chris Toshok  <toshok@ximian.com>
115
116         * X11Hwnd.cs: port over the XplatUIX11.cs patch for SetIcon.
117
118 2007-01-11  Chris Toshok  <toshok@ximian.com>
119
120         * X11Display.cs: don't send duplicate WM_ACTIVATE messages to the
121         initial form.
122
123 2007-01-06  Everaldo Canuto  <everaldo@simios.org>
124
125         * X11Hwnd.cs, XplatUIX11-new.cs: 
126         - border_static field added, it will used to define when a
127         control theres 3D border but it must be static (thin).
128         - In GetWindowRectangle use Theme.BorderSize to calculate area 
129         instead of static value 1, by the way use BorderSize instead
130         Border3DSize when border_static is true.
131         - When WS_EX_STATICEDGE ExStyle is set define border_static as true.
132
133 2007-01-05  Chris Toshok  <toshok@ximian.com>
134
135         * X11ThreadQueue.cs: #ifdef out some spew.
136
137         * X11Display.cs: #ifdef out some spew, and comment out the calls
138         to XGrabServer in QueryPointer().  it's not good to need to do
139         this, but without it we seem to deadlock.
140
141 2007-01-03  Andreia Gaita  <avidigal@novell.com>
142         
143         XplatUIX11.cs (see main changelog)
144         X11Display.cs: Check for valid window handle.
145
146 2006-12-28  Rolf Bjarne Kvinge  <RKvinge@novell.com>
147
148         * X11Display.cs:
149         * XplatUIX11-new.cs: Implemented GetOffscreenGraphics and 
150         change CreateOffscreenDrawable and DestroyOffscreenDrawable to
151         have the new correct signature.
152         
153 2006-12-25  Chris Toshok  <toshok@ximian.com>
154
155         * X11Display.cs: simplify GetMessage a lot.  remove the
156         paint/configure queue code from here, it's now in X11ThreadQueue.
157         reindent it by breaking out of the loop immediately if got_xevent
158         == false.
159
160         * X11ThreadQueue.cs: fix some of the the
161         threadqueue.Dequeue/display.GetMessage cross-linkages..  the only
162         remaining issue now (right here, anyway), is the WM_ENTERIDLE code
163         remaining in the GetMessage code.  it needs to somehow be linked
164         up with the OnIdle call...  maybe we need a special return value
165         which we return once before calling OnIdle and waiting on the
166         Monitor?
167
168         also, fix a bug in the PaintQueue code where the Dequeue method
169         was removing the Hwnd from the queue.  We only add an Hwnd once
170         regardless of how many of (pending_expose, pending_nc_expose) are
171         true, so we need to only remove it when both are false.  Once all
172         this is working we need to determine whether or not all this paint
173         queue stuff actually helps performance.
174
175 2006-12-12  Chris Toshok  <toshok@ximian.com>
176
177         * XplatUIX11.cs: add working implementation for
178         DrawReversibleFrame, DrawReversibleLine, and
179         FillReversibleRectangle.
180
181         * XplatUIX11-new.cs: add DrawReversibleFrame, DrawReversibleLine,
182         and FillReversibleRectangle which call into X11Display's methods.
183         
184 2006-12-07  Chris Toshok  <toshok@ximian.com>
185
186         * XplatUIX11-new.cs: add the 3 double buffering calls, calling
187         into the X11Display.
188
189         * Xlib.cs: add XCreatePixmap.
190
191         * X11Display.cs: implement the double buffering calls the same as
192         XplatUIX11.cs.
193
194 2006-12-06  Chris Toshok  <toshok@ximian.com>
195
196         * X11Display.cs: make Control.child_controls private.  switch all
197         uses over to Control.Controls.
198
199 2006-12-05  Chris Toshok  <toshok@ximian.com>
200
201         * X11Display.cs: fix some compiler warnings, and also re-include
202         the autorepeat event filtering from XplatUIX11.cs.
203
204 2006-12-01  Chris Toshok  <toshok@ximian.com>
205
206         * X11Hwnd.cs: need to mark queue as "new" to quiet mcs.
207
208 2006-11-29  Chris Toshok  <toshok@ximian.com>
209
210         * X11Hwnd.cs: implement GetWindowTransparency, and also add
211         caching for WINDOW_TYPE and _NET_WM_WINDOW_OPACITY.  We invalidate
212         the cache when we get a PropertyNotify on that atom.
213
214         * X11Display.cs: return GetSet from SupportsTransparency if we
215         have a compositor running.  otherwise return None.
216
217         * XplatUIX11-new.cs: pass SupportsTransparency off onto the
218         X11Display, and pass GetWindowTransparency off onto the X11Hwnd.
219
220 2006-11-29  Chris Toshok  <toshok@ximian.com>
221
222         * X11ThreadQueue.cs (EnqueueUnlocked): add the switch motionnotify
223         compression/NeedDispatchIdle assignment found in X11Hwnd here.
224         (RemovePaintUnlocked): nuke
225         (AddPaintUnlocked): nuke
226         (AddConfigureUnlocked): rename to AddConfigure.
227
228         Add some debug stuff to HwndEventQueue so we can see the stack
229         trace of where the hwnd was added to the queue, in case we somehow
230         try to add it multiple times.
231
232         * X11Hwnd.cs (AddExpose): there's no need for this to have locks
233         around it - it should only ever be called from operations on the
234         hwnd's thread (from ScrollWindow, from GetMessage, from
235         Invalidate).
236         (AddConfigureNotify): same goes here.
237         (HandleConfigureNotify): remove configure_lock reference.
238         (EnqueueEvent): nuke this.
239         (PaintEventStart): remove locking.
240         (ScrollWindow): remove locking.
241         
242         also, remove all references to
243         AddPaintUnlocked/RemovePaintUnlocked/AddConfigureUnlocked.  since
244         we don't need to lock around them, there's not need.
245         
246         * X11Display.cs (XEventThread) switch from hwnd.EnqueueEvent to
247         hwnd.Queue.Enqueue.
248
249 2006-11-28  Chris Toshok  <toshok@ximian.com>
250
251         * X11ThreadQueue.cs: factor out all the commonality from
252         PaintQueue/ConfigureQueue.  Add a comment about XEventQueue.  stop
253         using % from the XEventQueue.  if we're going for performance,
254         it's much quicker to use a multiple of 2 size for the array and
255         use & for wrapping.  Also, fix XEventQueue.Grow().  it was
256         reordering the queue before.
257
258         * X11Hwnd.cs, XplatUIX11-new.cs: remove spew, and ^M's.
259
260 2006-11-28  Rolf Bjarne Kvinge <RKvinge@novell.com>
261         
262         * XplatUIX11-new.cs:
263         * X11Hwnd.cs:
264         - Added RequestAdditionalWM_NCMessages for windows to 
265           opt in for WM_NCMOUSELEAVE and WM_NCMOUSEHOVER.
266
267 2006-11-28  Chris Toshok  <toshok@ximian.com>
268
269         * X11Display.cs (XEventThread): move to a polling strategy again,
270         since XNextEvent locks the display - without this, nothing can
271         happen with any toplevel X call until there's an event.  So we
272         poll on the XConnectionNumber, then consume all available events
273         before polling again.
274         (DispatchMessage): move this here.
275         (SetCursor): same.
276         (OverrideCursor): same.
277         (RedirectMsgToEnabledAncestor): make this code work for any XEvent
278         by removing the XEvent from the arg list.
279         (GetMessage): pretty major overhaul.  we now have a 3 loops.  We
280         loop over all the X events in the queue until there aren't any,
281         calling AddExpose and AddConfigureNotify for Expose and Configure
282         events respectively.  Those methods end up queueing up special
283         "events" in the thread queue's Paint and Configure queues.  Once
284         the X event loop is finished, we check to see if there are pending
285         configure/paint events, and handle any that are present.
286         (DoEvents): move here.
287
288         * X11ThreadQueue.cs: make DequeueUnlocked only dequeue X events.
289         if there are no x events and there *are* paint or configure
290         events, return early.  add a "configure queue" which is almost
291         identical to the "paint queue" except for the events it generates.
292         this needs refactoring so the code can be shared.
293
294         * XplatUIX11-new.cs: move the DefWndProc to X11Hwnd.  Move
295         SetCursor, OverrideCursor, DispatchMessage and DoEvents to
296         X11Display.
297
298         * X11Hwnd.cs (Update): do all this under the queue lock..
299         theorize about whether or not the SendMessage (WM_PAINT) should be
300         called from under the lock.
301         (DefWndProc): move this here.
302         (PendingExpose,PendingNCExpose): new properties, which should
303         eventually be pushed into Hwnd (and made abstract?)  Move all the
304         queue manipulation here.
305         (PaintEventStart): restrict the queue lock code a bit more.
306         (PerformNCCalc): remove the optimization - it keeps client windows
307         from resizing along with their parent.
308         (SetPosition): track change Rolf made to XplatUIX11.cs on
309         2006-11-22.
310
311 2006-11-21  Chris Toshok  <toshok@ximian.com>
312
313         * X11Hwnd.cs: the IntPtr atom change broke the Array.Sort stuff I
314         was doing.  Just remove it.
315
316         * XplatUIX11-new.cs: add a message if Xlib.XInitThreads fails.
317
318         * X11ThreadQueue.cs: another Date.Now -> Date.UtcNow fix.
319
320         * X11RootHwnd.cs: remove the setting of Display.ActiveWindow from
321         here.  move all the logic into X11Display.SetActiveWindow.
322
323         * X11Display.cs: move the logic for setting ActiveWindow here, and
324         make ModalWindows private.
325         
326 2006-11-21  Chris Toshok  <toshok@ximian.com>
327
328         * Xlib.cs: remove the static keyword from the class
329
330 2006-11-21  Chris Toshok  <toshok@ximian.com>
331
332         * XplatUIX11-new.cs: implement the Idle event by adding/removing
333         it from the applicable X11ThreadQueue and remove the OnIdle
334         method.  Also, implement the new InvalidateNC method.
335
336         * X11Display.cs: remove the idle dispatch code, as it can't be
337         generated by the XEventThread.  It has to be generated by the
338         threads running the various message pumps, as it has to be invoked
339         on that same thread.  Factor out the use of Hwnd.EnabledHwnd along
340         with the accompanying call to XTranslateCoordinates to a separate
341         function (RedirectMsgToEnabledAncestor).  Fix some NRE's accessing
342         FocusWindow, since it's not an IntPtr anymore but a X11Hwnd.
343
344         * X11ThreadQueue.cs: move the Idle dispatch stuff here.  Also,
345         correct the first arg to Idle - it's not the XplatUI, it's the
346         Thread.
347
348         * X11Hwnd.cs: numerous formatting changes, change the logic of
349         some if statements to make things cleaner.  Factor out the
350         USER_TIME manipulation from a few places. Change all atom
351         manipulation to use IntPtr's instead of int's the way the old
352         XplatUIX11 stuff worked.  This might help fix things for 64-bit
353         platforms..  more work needed there.  Also, add the new
354         InvalidateNC support (basically the same as the old
355         InvalidateWholeWindow), and remove the InvalidateWholeWindow
356         calls.
357
358 2006-11-17  Chris Toshok  <toshok@ximian.com>
359
360         * X11Hwnd.cs: port the XplatUIX11.ScrollWindow fix from 68061.
361
362 2006-11-14  Chris Toshok  <toshok@ximian.com>
363
364         * X11Hwnd.cs, X11RootHwnd.cs, X11Atoms.cs, X11Display.cs,
365         X11Exception.cs, Xlib.cs: Initial pass at refactoring the X11
366         backend.
367