gnome-desktop r5300 - in trunk/libgnome-desktop: . libgnomeui
- From: federico svn gnome org
- To: svn-commits-list gnome org
- Subject: gnome-desktop r5300 - in trunk/libgnome-desktop: . libgnomeui
- Date: Thu, 4 Dec 2008 00:26:25 +0000 (UTC)
Author: federico
Date: Thu Dec 4 00:26:25 2008
New Revision: 5300
URL: http://svn.gnome.org/viewvc/gnome-desktop?rev=5300&view=rev
Log:
Return errors from gnome_rr_screen_new()
Signed-off-by: Federico Mena Quintero <federico novell com>
Modified:
trunk/libgnome-desktop/gnome-rr.c
trunk/libgnome-desktop/libgnomeui/gnome-rr.h
Modified: trunk/libgnome-desktop/gnome-rr.c
==============================================================================
--- trunk/libgnome-desktop/gnome-rr.c (original)
+++ trunk/libgnome-desktop/gnome-rr.c Thu Dec 4 00:26:25 2008
@@ -24,6 +24,7 @@
#define GNOME_DESKTOP_USE_UNSTABLE_API
+#include <glib/gi18n-lib.h>
#include "libgnomeui/gnome-rr.h"
#include <string.h>
#include <X11/Xlib.h>
@@ -449,7 +450,7 @@
else
{
g_free (info);
- return NULL;
+ return NULL; /* FMQ: return error */
}
}
@@ -512,11 +513,14 @@
GnomeRRScreen *
gnome_rr_screen_new (GdkScreen *gdk_screen,
GnomeRRScreenChanged callback,
- gpointer data)
+ gpointer data,
+ GError **error)
{
Display *dpy = GDK_SCREEN_XDISPLAY (gdk_screen);
int event_base;
int ignore;
+
+ g_return_val_if_fail (error == NULL || *error == NULL, NULL);
if (XRRQueryExtension (dpy, &event_base, &ignore))
{
@@ -538,6 +542,7 @@
if (!screen->info) {
g_free (screen);
return NULL;
+ /* FMQ: return error */
}
XRRSelectInput (screen->xdisplay,
@@ -554,8 +559,13 @@
gdk_window_add_filter (screen->gdk_root, screen_on_event, screen);
return screen;
}
-
- return NULL;
+ else
+ {
+ g_set_error (error, GNOME_RR_ERROR, GNOME_RR_ERROR_NO_RANDR_EXTENSION,
+ _("RANDR extension is not present"));
+
+ return NULL;
+ }
}
void
Modified: trunk/libgnome-desktop/libgnomeui/gnome-rr.h
==============================================================================
--- trunk/libgnome-desktop/libgnomeui/gnome-rr.h (original)
+++ trunk/libgnome-desktop/libgnomeui/gnome-rr.h Thu Dec 4 00:26:25 2008
@@ -56,12 +56,14 @@
typedef enum {
GNOME_RR_ERROR_UNKNOWN, /* generic "fail" */
+ GNOME_RR_ERROR_NO_RANDR_EXTENSION, /* RANDR extension is not present */
} GnomeRRError;
/* GnomeRRScreen */
GnomeRRScreen * gnome_rr_screen_new (GdkScreen *screen,
GnomeRRScreenChanged callback,
- gpointer data);
+ gpointer data,
+ GError **error);
void gnome_rr_screen_destroy (GnomeRRScreen *screen);
GnomeRROutput **gnome_rr_screen_list_outputs (GnomeRRScreen *screen);
GnomeRRCrtc ** gnome_rr_screen_list_crtcs (GnomeRRScreen *screen);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]