[winforms,fix] Prevent Clipboard APIs from running any Idle handlers
[mono.git] / mcs / class / Managed.Windows.Forms / System.Windows.Forms.CarbonInternal / EventHandler.cs
index 938324189947190c8fb4db99673ce3c05b612166..6d9eb696d43c95764a05bfa43c9182ebbe713302 100644 (file)
@@ -87,7 +87,9 @@ namespace System.Windows.Forms.CarbonInternal {
                                                                        new EventTypeSpec (kEventClassWindow, WindowHandler.kEventWindowDeactivated),
                                                                        new EventTypeSpec (kEventClassWindow, WindowHandler.kEventWindowActivated),
                                                                        new EventTypeSpec (kEventClassWindow, WindowHandler.kEventWindowDeactivated),
+                                                                       new EventTypeSpec (kEventClassWindow, WindowHandler.kEventWindowCollapsed),
                                                                        new EventTypeSpec (kEventClassWindow, WindowHandler.kEventWindowCollapsing),
+                                                                       new EventTypeSpec (kEventClassWindow, WindowHandler.kEventWindowExpanded),
                                                                        new EventTypeSpec (kEventClassWindow, WindowHandler.kEventWindowExpanding),
                                                                        new EventTypeSpec (kEventClassWindow, WindowHandler.kEventWindowBoundsChanged),
                                                                        new EventTypeSpec (kEventClassWindow, WindowHandler.kEventWindowResizeStarted),
@@ -98,7 +100,8 @@ namespace System.Windows.Forms.CarbonInternal {
                                                                        new EventTypeSpec (kEventClassKeyboard, KeyboardHandler.kEventRawKeyModifiersChanged),
                                                                        new EventTypeSpec (kEventClassKeyboard, KeyboardHandler.kEventRawKeyDown),
                                                                        new EventTypeSpec (kEventClassKeyboard, KeyboardHandler.kEventRawKeyRepeat),
-                                                                       new EventTypeSpec (kEventClassKeyboard, KeyboardHandler.kEventRawKeyUp)
+                                                                       new EventTypeSpec (kEventClassKeyboard, KeyboardHandler.kEventRawKeyUp),
+                                                                       new EventTypeSpec (kEventClassTextInput, KeyboardHandler.kEventTextInputUnicodeForKeyEvent)
                                                                        };
 
                internal static int EventCallback (IntPtr callref, IntPtr eventref, IntPtr handle) {
@@ -113,6 +116,7 @@ namespace System.Windows.Forms.CarbonInternal {
                                        break;
                                }
                                case kEventClassKeyboard:
+                               case kEventClassTextInput:
                                        handler = (IEventHandler) Driver.KeyboardHandler;
                                        break;
                                case kEventClassWindow:
@@ -141,13 +145,13 @@ namespace System.Windows.Forms.CarbonInternal {
 
                internal static bool TranslateMessage (ref MSG msg) {
                        bool result = false;
-
                        if (!result)
                                result = Driver.KeyboardHandler.TranslateMessage (ref msg);
                        if (!result)
                                result = Driver.MouseHandler.TranslateMessage (ref msg);
 
-                       return result;
+                       return result;
                }
 
                internal static void InstallApplicationHandler () {
@@ -170,7 +174,7 @@ namespace System.Windows.Forms.CarbonInternal {
                internal static extern IntPtr GetWindowEventTarget (IntPtr window);
 
                [DllImport ("/System/Library/Frameworks/Carbon.framework/Versions/Current/Carbon")]
-               static extern uint GetEventClass (IntPtr eventref);
+               internal static extern uint GetEventClass (IntPtr eventref);
                [DllImport ("/System/Library/Frameworks/Carbon.framework/Versions/Current/Carbon")]
                static extern uint GetEventKind (IntPtr eventref);