--- gdkevents-win32.c.orig	2004-11-12 05:53:11.000000000 +0800
+++ gdkevents-win32.c	2004-12-30 18:01:29.000000000 +0800
@@ -3355,6 +3355,16 @@ gdk_event_translate (GdkDisplay *display
       handle_display_change ();
       break;
       
+    case WM_DESTROYCLIPBOARD:
+      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);
+
+      return_val = 0;
+      break;
 
 #ifdef HAVE_WINTAB
       /* Handle WINTAB events here, as we know that gdkinput.c will
--- gdkselection-win32.c.orig	2004-07-07 08:15:27.000000000 +0800
+++ gdkselection-win32.c	2004-12-30 18:02:06.000000000 +0800
@@ -634,7 +634,7 @@ gdk_selection_send_notify_for_display (G
    * return NULL for CLIPBOARD, it works. Sigh.
    */
 
-  tmp_event.selection.type = GDK_SELECTION_CLEAR;
+  /* tmp_event.selection.type = GDK_SELECTION_CLEAR;
   tmp_event.selection.window = gdk_window_lookup (requestor);
   tmp_event.selection.send_event = FALSE;
   tmp_event.selection.selection = selection;
@@ -643,7 +643,7 @@ gdk_selection_send_notify_for_display (G
   tmp_event.selection.requestor = 0;
   tmp_event.selection.time = time;
 
-  gdk_event_put (&tmp_event);
+  gdk_event_put (&tmp_event); */
 }
 
 /* It's hard to say whether implementing this actually is of any use
