diff options
author | Tor Lillqvist <tml@novell.com> | 2005-01-23 00:38:17 +0000 |
---|---|---|
committer | Tor Lillqvist <tml@src.gnome.org> | 2005-01-23 00:38:17 +0000 |
commit | 736f4c87588d28919e9d2f27c904f17c78fc5d5e (patch) | |
tree | 3cbaaf1d5d5f7b2ac99af1a7c1031cf4c3d335b5 /gdk/win32/gdkevents-win32.c | |
parent | 26629f7a935e81f63a03ff3ba71be1208b789f5e (diff) | |
download | gdk-pixbuf-736f4c87588d28919e9d2f27c904f17c78fc5d5e.tar.gz |
Fix for #163702, from Ivan Wong:
2005-01-23 Tor Lillqvist <tml@novell.com>
Fix for #163702, from Ivan Wong:
* gdk/win32/gdkprivate-win32.h
* gdk/win32/gdkglobals-win32.c: New flag _ignore_destroy_clipboard.
* gdk/win32/gdkevents-win32.c (gdk_event_translate): Handle
WM_DESTROYCLIPBOARD. Unless _ignore_destroy_clipboard, generate a
GDK_SELECTION_CLEAR event.
* gdk/win32/gdkselection-win32.c
(gdk_selection_owner_set_for_display): Set _ignore_destroy_clipboard
when emptying the clipboard ourselves.
(gdk_selection_send_notify_for_display): Remove the artifical
GDK_SELECTION_CLEAR event generation.
Diffstat (limited to 'gdk/win32/gdkevents-win32.c')
-rw-r--r-- | gdk/win32/gdkevents-win32.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/gdk/win32/gdkevents-win32.c b/gdk/win32/gdkevents-win32.c index 3e14cf904..e8560cfad 100644 --- a/gdk/win32/gdkevents-win32.c +++ b/gdk/win32/gdkevents-win32.c @@ -3353,7 +3353,19 @@ gdk_event_translate (GdkDisplay *display, handle_display_change (); break; - + case WM_DESTROYCLIPBOARD: + if (!_ignore_destroy_clipboard) + { + event = gdk_event_new (GDK_SELECTION_CLEAR); + event->selection.window = window; + event->selection.selection = GDK_SELECTION_CLIPBOARD; + event->selection.time = _gdk_win32_get_next_tick (msg->time); + append_event (display, event); + } + else + return_val = TRUE; + break; + #ifdef HAVE_WINTAB /* Handle WINTAB events here, as we know that gdkinput.c will * use the fixed WT_DEFBASE as lcMsgBase, and we thus can use the |