Add gdk_display_manager_peek
Instead of failing with an error if no GDK backend is found like gdk_display_manager_get(), the new peek function silently returns NULL.
This commit is contained in:
parent
97ebaee0e2
commit
c5d7871eda
@ -171,6 +171,7 @@ GdkDisplayClass
|
|||||||
<TITLE>GdkDisplayManager</TITLE>
|
<TITLE>GdkDisplayManager</TITLE>
|
||||||
GdkDisplayManager
|
GdkDisplayManager
|
||||||
gdk_display_manager_get
|
gdk_display_manager_get
|
||||||
|
gdk_display_manager_peek
|
||||||
gdk_display_manager_get_default_display
|
gdk_display_manager_get_default_display
|
||||||
gdk_display_manager_set_default_display
|
gdk_display_manager_set_default_display
|
||||||
gdk_display_manager_list_displays
|
gdk_display_manager_list_displays
|
||||||
|
@ -101,6 +101,7 @@ gdk_display_is_closed
|
|||||||
gdk_display_keyboard_ungrab
|
gdk_display_keyboard_ungrab
|
||||||
gdk_display_list_devices
|
gdk_display_list_devices
|
||||||
gdk_display_manager_get
|
gdk_display_manager_get
|
||||||
|
gdk_display_manager_peek
|
||||||
gdk_display_manager_get_default_display
|
gdk_display_manager_get_default_display
|
||||||
gdk_display_manager_get_type
|
gdk_display_manager_get_type
|
||||||
gdk_display_manager_list_displays
|
gdk_display_manager_list_displays
|
||||||
|
@ -288,6 +288,29 @@ static GdkDisplayManager *manager = NULL;
|
|||||||
**/
|
**/
|
||||||
GdkDisplayManager*
|
GdkDisplayManager*
|
||||||
gdk_display_manager_get (void)
|
gdk_display_manager_get (void)
|
||||||
|
{
|
||||||
|
gdk_display_manager_peek ();
|
||||||
|
|
||||||
|
if (manager == NULL)
|
||||||
|
g_error ("No GDK backend found (%s)", allowed_backends);
|
||||||
|
|
||||||
|
return manager;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* gdk_display_manager_peek:
|
||||||
|
*
|
||||||
|
* Gets the singleton #GdkDisplayManager object. If GDK could
|
||||||
|
* not be initialized, %NULL is returned.
|
||||||
|
*
|
||||||
|
* Returns: (transfer none): The global #GdkDisplayManager singleton,
|
||||||
|
* or %NULL if GDK could not be initialized. gdk_parse_args(),
|
||||||
|
* gdk_init(), or gdk_init_check() must have been called first
|
||||||
|
*
|
||||||
|
* Since: 3.10
|
||||||
|
*/
|
||||||
|
GdkDisplayManager *
|
||||||
|
gdk_display_manager_peek (void)
|
||||||
{
|
{
|
||||||
if (manager == NULL)
|
if (manager == NULL)
|
||||||
{
|
{
|
||||||
@ -369,13 +392,7 @@ gdk_display_manager_get (void)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
g_strfreev (backends);
|
g_strfreev (backends);
|
||||||
|
|
||||||
if (manager == NULL)
|
|
||||||
g_error ("No GDK backend found (%s)", allowed_backends);
|
|
||||||
|
|
||||||
GDK_NOTE (MISC, if (manager) g_message ("Using %s", G_OBJECT_TYPE_NAME (manager)));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return manager;
|
return manager;
|
||||||
|
@ -43,6 +43,8 @@ G_BEGIN_DECLS
|
|||||||
GType gdk_display_manager_get_type (void) G_GNUC_CONST;
|
GType gdk_display_manager_get_type (void) G_GNUC_CONST;
|
||||||
|
|
||||||
GdkDisplayManager *gdk_display_manager_get (void);
|
GdkDisplayManager *gdk_display_manager_get (void);
|
||||||
|
GDK_AVAILABLE_IN_3_10
|
||||||
|
GdkDisplayManager *gdk_display_manager_peek (void);
|
||||||
GdkDisplay * gdk_display_manager_get_default_display (GdkDisplayManager *manager);
|
GdkDisplay * gdk_display_manager_get_default_display (GdkDisplayManager *manager);
|
||||||
void gdk_display_manager_set_default_display (GdkDisplayManager *manager,
|
void gdk_display_manager_set_default_display (GdkDisplayManager *manager,
|
||||||
GdkDisplay *display);
|
GdkDisplay *display);
|
||||||
|
Loading…
Reference in New Issue
Block a user