2006-11-21 Chris Toshok * X11Hwnd.cs: the IntPtr atom change broke the Array.Sort stuff I was doing. Just remove it. * XplatUIX11-new.cs: add a message if Xlib.XInitThreads fails. * X11ThreadQueue.cs: another Date.Now -> Date.UtcNow fix. * X11RootHwnd.cs: remove the setting of Display.ActiveWindow from here. move all the logic into X11Display.SetActiveWindow. * X11Display.cs: move the logic for setting ActiveWindow here, and make ModalWindows private. 2006-11-21 Chris Toshok * Xlib.cs: remove the static keyword from the class 2006-11-21 Chris Toshok * XplatUIX11-new.cs: implement the Idle event by adding/removing it from the applicable X11ThreadQueue and remove the OnIdle method. Also, implement the new InvalidateNC method. * X11Display.cs: remove the idle dispatch code, as it can't be generated by the XEventThread. It has to be generated by the threads running the various message pumps, as it has to be invoked on that same thread. Factor out the use of Hwnd.EnabledHwnd along with the accompanying call to XTranslateCoordinates to a separate function (RedirectMsgToEnabledAncestor). Fix some NRE's accessing FocusWindow, since it's not an IntPtr anymore but a X11Hwnd. * X11ThreadQueue.cs: move the Idle dispatch stuff here. Also, correct the first arg to Idle - it's not the XplatUI, it's the Thread. * X11Hwnd.cs: numerous formatting changes, change the logic of some if statements to make things cleaner. Factor out the USER_TIME manipulation from a few places. Change all atom manipulation to use IntPtr's instead of int's the way the old XplatUIX11 stuff worked. This might help fix things for 64-bit platforms.. more work needed there. Also, add the new InvalidateNC support (basically the same as the old InvalidateWholeWindow), and remove the InvalidateWholeWindow calls. 2006-11-17 Chris Toshok * X11Hwnd.cs: port the XplatUIX11.ScrollWindow fix from 68061. 2006-11-14 Chris Toshok * X11Hwnd.cs, X11RootHwnd.cs, X11Atoms.cs, X11Display.cs, X11Exception.cs, Xlib.cs: Initial pass at refactoring the X11 backend.