GdkMacosWindow *window;
GdkMacosSurface *self = GDK_MACOS_SURFACE (object);
+ GdkSurface *surface = GDK_SURFACE (self);
GdkDisplay *display = gdk_surface_get_display (GDK_SURFACE (self));
+ GdkFrameClock *frame_clock;
NSScreen *screen;
NSUInteger style_mask;
NSRect content_rect;
_gdk_macos_surface_set_native (self, window);
+ frame_clock = _gdk_frame_clock_idle_new ();
+ gdk_surface_set_frame_clock (surface, frame_clock);
+ g_object_unref (frame_clock);
+
GDK_END_MACOS_ALLOC_POOL;
G_OBJECT_CLASS (_gdk_macos_drag_surface_parent_class)->constructed (object);
GdkMacosSurface *
_gdk_macos_drag_surface_new (GdkMacosDisplay *display)
{
- GdkFrameClock *frame_clock;
-
g_return_val_if_fail (GDK_IS_MACOS_DISPLAY (display), NULL);
- frame_clock = _gdk_frame_clock_idle_new ();
-
self = g_object_new (GDK_TYPE_MACOS_DRAG_SURFACE,
"display", display,
- "frame-clock", frame_clock,
NULL);
- g_object_unref (frame_clock);
-
return g_steal_pointer (&self);
}
GdkMacosWindow *window;
GdkMacosPopupSurface *self = GDK_MACOS_POPUP_SURFACE (object);
+ GdkSurface *surface = GDK_SURFACE (self);
GdkDisplay *display = gdk_surface_get_display (GDK_SURFACE (self));
NSScreen *screen;
NSUInteger style_mask;
_gdk_macos_surface_set_native (GDK_MACOS_SURFACE (self), window);
+ gdk_surface_set_frame_clock (surface, gdk_surface_get_frame_clock (surface->parent));
+
GDK_END_MACOS_ALLOC_POOL;
G_OBJECT_CLASS (_gdk_macos_popup_surface_parent_class)->constructed (object);
#include "gdkdeviceprivate.h"
#include "gdkdisplay.h"
#include "gdkeventsprivate.h"
-#include "gdkframeclockidleprivate.h"
+#include "gdkframeclockprivate.h"
#include "gdkseatprivate.h"
#include "gdksurfaceprivate.h"
GdkSurfaceType surface_type,
GdkSurface *parent)
{
- GdkFrameClock *frame_clock;
GdkMacosSurface *ret;
g_return_val_if_fail (GDK_IS_MACOS_DISPLAY (display), NULL);
- if (parent != NULL)
- frame_clock = g_object_ref (parent->frame_clock);
- else
- frame_clock = _gdk_frame_clock_idle_new ();
-
switch (surface_type)
{
case GDK_SURFACE_TOPLEVEL:
ret = g_object_new (GDK_TYPE_MACOS_TOPLEVEL_SURFACE,
"display", display,
- "frame-clock", frame_clock,
NULL);
break;
case GDK_SURFACE_POPUP:
ret = g_object_new (GDK_TYPE_MACOS_POPUP_SURFACE,
"display", display,
- "frame-clock", frame_clock,
"parent", parent,
NULL);
ret = NULL;
}
- g_object_unref (frame_clock);
-
return g_steal_pointer (&ret);
}
#include "gdkmacostoplevelsurface-private.h"
+#include "gdkframeclockidleprivate.h"
#include "gdkseatprivate.h"
#include "gdktoplevelprivate.h"
GdkMacosWindow *window;
GdkMacosToplevelSurface *self = GDK_MACOS_TOPLEVEL_SURFACE (object);
- GdkDisplay *display = gdk_surface_get_display (GDK_SURFACE (self));
+ GdkSurface *surface = GDK_SURFACE (self);
+ GdkMacosDisplay *display = GDK_MACOS_DISPLAY (gdk_surface_get_display (surface));
+ GdkFrameClock *frame_clock;
NSUInteger style_mask;
NSRect content_rect;
NSRect visible_frame;
_gdk_macos_surface_set_native (GDK_MACOS_SURFACE (self), window);
+ frame_clock = _gdk_frame_clock_idle_new ();
+ gdk_surface_set_frame_clock (surface, frame_clock);
+ g_object_unref (frame_clock);
+
GDK_END_MACOS_ALLOC_POOL;
G_OBJECT_CLASS (_gdk_macos_toplevel_surface_parent_class)->constructed (object);