]> Pileus Git - ~andy/gtk/blobdiff - gdk/quartz/gdkdnd-quartz.c
Convert all gdk_window methods to vtable calls in the quartz backend
[~andy/gtk] / gdk / quartz / gdkdnd-quartz.c
index 40e90afe5bff665b2232ec193a222dabb68fa1a7..7c6116e61320d9f896fb43b2e634708e62be42c6 100644 (file)
@@ -59,7 +59,7 @@ gdk_drag_context_get_type (void)
 
   if (!object_type)
     {
-      static const GTypeInfo object_info =
+      const GTypeInfo object_info =
       {
         sizeof (GdkDragContextClass),
         (GBaseInitFunc) NULL,
@@ -87,30 +87,30 @@ gdk_drag_context_new (void)
   return (GdkDragContext *)g_object_new (gdk_drag_context_get_type (), NULL);
 }
 
-void            
-gdk_drag_context_ref (GdkDragContext *context)
-{
-  g_object_ref (context);
-}
+GdkDragContext *_gdk_quartz_drag_source_context = NULL;
 
-void            
-gdk_drag_context_unref (GdkDragContext *context)
+GdkDragContext *
+gdk_quartz_drag_source_context ()
 {
-  g_object_unref (context);
+  return _gdk_quartz_drag_source_context;
 }
 
-GdkDragContext *_gdk_quartz_drag_source_context = NULL;
-
 GdkDragContext * 
 gdk_drag_begin (GdkWindow     *window,
                GList         *targets)
 {
+  GdkDeviceManager *device_manager;
+
   g_assert (_gdk_quartz_drag_source_context == NULL);
   
   /* Create fake context */
   _gdk_quartz_drag_source_context = gdk_drag_context_new ();
   _gdk_quartz_drag_source_context->is_source = TRUE;
-  
+
+  device_manager = gdk_display_get_device_manager (gdk_display_get_default ());
+  gdk_drag_context_set_device (_gdk_quartz_drag_source_context,
+                               gdk_device_manager_get_client_pointer (device_manager));
+
   return _gdk_quartz_drag_source_context;
 }
 
@@ -191,8 +191,8 @@ gdk_drop_finish (GdkDragContext   *context,
   /* FIXME: Implement */
 }
 
-void            
-gdk_window_register_dnd (GdkWindow *window)
+void
+_gdk_quartz_window_register_dnd (GdkWindow *window)
 {
   /* FIXME: Implement */
 }