mirror of
https://github.com/brl/mutter.git
synced 2024-11-24 17:10:40 -05:00
display: Keep pointer to the context
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1861>
This commit is contained in:
parent
4be9bc9db4
commit
e8af5fd398
@ -256,7 +256,8 @@ struct _MetaDisplayClass
|
|||||||
(time2) != 0) \
|
(time2) != 0) \
|
||||||
)
|
)
|
||||||
|
|
||||||
MetaDisplay * meta_display_new (GError **error);
|
MetaDisplay * meta_display_new (MetaContext *context,
|
||||||
|
GError **error);
|
||||||
|
|
||||||
void meta_display_manage_all_xwindows (MetaDisplay *display);
|
void meta_display_manage_all_xwindows (MetaDisplay *display);
|
||||||
void meta_display_unmanage_windows (MetaDisplay *display,
|
void meta_display_unmanage_windows (MetaDisplay *display,
|
||||||
|
@ -122,7 +122,12 @@ typedef struct
|
|||||||
guint ping_timeout_id;
|
guint ping_timeout_id;
|
||||||
} MetaPingData;
|
} MetaPingData;
|
||||||
|
|
||||||
G_DEFINE_TYPE(MetaDisplay, meta_display, G_TYPE_OBJECT);
|
typedef struct _MetaDisplayPrivate
|
||||||
|
{
|
||||||
|
MetaContext *context;
|
||||||
|
} MetaDisplayPrivate;
|
||||||
|
|
||||||
|
G_DEFINE_TYPE_WITH_PRIVATE (MetaDisplay, meta_display, G_TYPE_OBJECT)
|
||||||
|
|
||||||
/* Signals */
|
/* Signals */
|
||||||
enum
|
enum
|
||||||
@ -789,9 +794,11 @@ meta_display_shutdown_x11 (MetaDisplay *display)
|
|||||||
}
|
}
|
||||||
|
|
||||||
MetaDisplay *
|
MetaDisplay *
|
||||||
meta_display_new (GError **error)
|
meta_display_new (MetaContext *context,
|
||||||
|
GError **error)
|
||||||
{
|
{
|
||||||
MetaDisplay *display;
|
MetaDisplay *display;
|
||||||
|
MetaDisplayPrivate *priv;
|
||||||
int i;
|
int i;
|
||||||
guint32 timestamp;
|
guint32 timestamp;
|
||||||
Window old_active_xwindow = None;
|
Window old_active_xwindow = None;
|
||||||
@ -802,6 +809,9 @@ meta_display_new (GError **error)
|
|||||||
g_assert (the_display == NULL);
|
g_assert (the_display == NULL);
|
||||||
display = the_display = g_object_new (META_TYPE_DISPLAY, NULL);
|
display = the_display = g_object_new (META_TYPE_DISPLAY, NULL);
|
||||||
|
|
||||||
|
priv = meta_display_get_instance_private (display);
|
||||||
|
priv->context = context;
|
||||||
|
|
||||||
display->closing = 0;
|
display->closing = 0;
|
||||||
display->display_opening = TRUE;
|
display->display_opening = TRUE;
|
||||||
|
|
||||||
@ -2772,6 +2782,20 @@ meta_display_supports_extended_barriers (MetaDisplay *display)
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* meta_display_get_context:
|
||||||
|
* @display: a #MetaDisplay
|
||||||
|
*
|
||||||
|
* Returns: (transfer none): the #MetaContext
|
||||||
|
*/
|
||||||
|
MetaContext *
|
||||||
|
meta_display_get_context (MetaDisplay *display)
|
||||||
|
{
|
||||||
|
MetaDisplayPrivate *priv = meta_display_get_instance_private (display);
|
||||||
|
|
||||||
|
return priv->context;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* meta_display_get_compositor: (skip)
|
* meta_display_get_compositor: (skip)
|
||||||
* @display: a #MetaDisplay
|
* @display: a #MetaDisplay
|
||||||
|
@ -321,7 +321,7 @@ meta_context_start (MetaContext *context,
|
|||||||
meta_backend_init_wayland (meta_get_backend ());
|
meta_backend_init_wayland (meta_get_backend ());
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
priv->display = meta_display_new (error);
|
priv->display = meta_display_new (context, error);
|
||||||
if (!priv->display)
|
if (!priv->display)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
|
@ -84,6 +84,9 @@ META_EXPORT
|
|||||||
void meta_display_close (MetaDisplay *display,
|
void meta_display_close (MetaDisplay *display,
|
||||||
guint32 timestamp);
|
guint32 timestamp);
|
||||||
|
|
||||||
|
META_EXPORT
|
||||||
|
MetaContext * meta_display_get_context (MetaDisplay *display);
|
||||||
|
|
||||||
META_EXPORT
|
META_EXPORT
|
||||||
MetaCompositor *meta_display_get_compositor (MetaDisplay *display);
|
MetaCompositor *meta_display_get_compositor (MetaDisplay *display);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user