2007-02-19 Everaldo Canuto <everaldo@simios.org>
[mono.git] / mcs / class / Managed.Windows.Forms / System.Windows.Forms / XplatUIX11GTK.cs
index ea16de4e26b1396329a71e21979998e11eb5185c..89cd0af9fb35578381cfceb332410d3d30a2c101 100644 (file)
@@ -459,10 +459,7 @@ namespace System.Windows.Forms {
                        RefCount = 0;
                        
                        // init gdk
-                       int argc = 0;
-                       string argv = "";
-                       
-                       gdk_init_check (out argc, argv);
+                       gdk_init_check (IntPtr.Zero, IntPtr.Zero);
                        
                        // Now regular initialization
                        XlibLock = new object ();
@@ -714,46 +711,6 @@ namespace System.Windows.Forms {
                                throw new ArgumentNullException ("Display", "Could not open display (X-Server required. Check you DISPLAY environment variable)");
                        }
                }
-               
-               internal static void Where ()
-               {
-                       Console.WriteLine ("Here: {0}\n", WhereString ());
-               }
-               
-               internal static string WhereString ()
-               {
-                       StackTrace      stack;
-                       StackFrame      frame;
-                       string          newline;
-                       string          unknown;
-                       StringBuilder   sb;
-                       MethodBase      method;
-                       
-                       newline = String.Format ("{0}\t {1} ", Environment.NewLine, Locale.GetText ("at"));
-                       unknown = Locale.GetText ("<unknown method>");
-                       sb = new StringBuilder ();
-                       stack = new StackTrace (true);
-                       
-                       for (int i = 0; i < stack.FrameCount; i++) {
-                               frame = stack.GetFrame (i);
-                               sb.Append (newline);
-                               
-                               method = frame.GetMethod ();
-                               if (method != null) {
-                                       #if not
-                                               sb.AppendFormat(frame.ToString());
-                                       #endif
-                                       if (frame.GetFileLineNumber () != 0) {
-                                               sb.AppendFormat ("{0}.{1} () [{2}:{3}]", method.DeclaringType.FullName, method.Name, Path.GetFileName (frame.GetFileName ()), frame.GetFileLineNumber ());
-                                       } else {
-                                               sb.AppendFormat ("{0}.{1} ()", method.DeclaringType.FullName, method.Name);
-                                       }
-                               } else { 
-                                       sb.Append (unknown);
-                               }
-                       }
-                       return sb.ToString ();
-               }
                #endregion      // Internal Methods
                
                #region Private Methods
@@ -1509,7 +1466,7 @@ namespace System.Windows.Forms {
                        if (ErrorExceptions) {
                                throw new XException (error_event.display, error_event.resourceid, error_event.serial, error_event.error_code, error_event.request_code, error_event.minor_code);
                        } else {
-                               Console.WriteLine ("X11 Error encountered: {0}{1}\n", XException.GetMessage (error_event.display, error_event.resourceid, error_event.serial, error_event.error_code, error_event.request_code, error_event.minor_code), WhereString ());
+                               Console.WriteLine ("X11 Error encountered: {0}{1}\n", XException.GetMessage (error_event.display, error_event.resourceid, error_event.serial, error_event.error_code, error_event.request_code, error_event.minor_code), Environment.StackTrace);
                        }
                        return 0;
                }
@@ -1521,7 +1478,7 @@ namespace System.Windows.Forms {
                        Control[]       controls;
                        
                        if (c != null) {
-                               controls = c.child_controls.GetAllControls ();
+                               controls = c.Controls.GetAllControls ();
                                
                                for (i = 0; i < controls.Length; i++) {
                                        if (controls [i].IsHandleCreated) {
@@ -2941,7 +2898,6 @@ namespace System.Windows.Forms {
                                        Dnd.HandleButtonRelease (ref xevent);
                                        switch (xevent.ButtonEvent.button) {
                                        case 1: {
-                                                       MouseState &= ~MouseButtons.Left;
                                                        if (client) {
                                                                msg.message = Msg.WM_LBUTTONUP;
                                                        } else {
@@ -2949,11 +2905,11 @@ namespace System.Windows.Forms {
                                                                WholeToScreen (msg.hwnd, ref xevent.ButtonEvent.x, ref xevent.ButtonEvent.y);
                                                        }
                                                        msg.wParam = GetMousewParam (0);
+                                                       MouseState &= ~MouseButtons.Left;
                                                        break;
                                                }
                                                
                                        case 2: {
-                                                       MouseState &= ~MouseButtons.Middle;
                                                        if (client) {
                                                                msg.message = Msg.WM_MBUTTONUP;
                                                        } else {
@@ -2961,11 +2917,11 @@ namespace System.Windows.Forms {
                                                                WholeToScreen (msg.hwnd, ref xevent.ButtonEvent.x, ref xevent.ButtonEvent.y);
                                                        }
                                                        msg.wParam = GetMousewParam (0);
+                                                       MouseState &= ~MouseButtons.Middle;
                                                        break;
                                                }
                                                
                                        case 3: {
-                                                       MouseState &= ~MouseButtons.Right;
                                                        if (client) {
                                                                msg.message = Msg.WM_RBUTTONUP;
                                                        } else {
@@ -2973,6 +2929,7 @@ namespace System.Windows.Forms {
                                                                WholeToScreen (msg.hwnd, ref xevent.ButtonEvent.x, ref xevent.ButtonEvent.y);
                                                        }
                                                        msg.wParam = GetMousewParam (0);
+                                                       MouseState &= ~MouseButtons.Right;
                                                        break;
                                                }
                                                
@@ -4662,7 +4619,7 @@ namespace System.Windows.Forms {
                
                #region gdk imports
                [DllImport("libgdk-x11-2.0.so")]
-               static extern bool gdk_init_check (out int argc, string argv);
+               static extern bool gdk_init_check (IntPtr argc, IntPtr argv);
                
                [DllImport("libgdk-x11-2.0.so")]
                internal static extern IntPtr gdk_x11_display_get_xdisplay (IntPtr display);