aboutsummaryrefslogtreecommitdiff
path: root/arch/linux/common/os.h
diff options
context:
space:
mode:
authorAgney Lopes Roth Ferraz <agney@debian.org>2007-04-09 11:45:31 -0300
committerSimon Quigley <tsimonq2@ubuntu.com>2017-06-19 14:38:41 -0500
commitadb3993ba087ede46f62d5f018e17b07e99b5260 (patch)
tree67b4fa7e224f09d21eb76060422ca23e50e6dfe0 /arch/linux/common/os.h
parentb3e31ae3787c8806f48c85a52bba9aa3554e2c07 (diff)
parent11b8179a57e675c6672cbe649c655230ae3e9744 (diff)
Import Debian changes 0.4.2.1-1
hardinfo (0.4.2.1-1) unstable; urgency=low * New upstream release. * Fixed segfault on device entry (Closes: #387955)
Diffstat (limited to 'arch/linux/common/os.h')
-rw-r--r--arch/linux/common/os.h27
1 files changed, 17 insertions, 10 deletions
diff --git a/arch/linux/common/os.h b/arch/linux/common/os.h
index 0f7b59e3..d30146ef 100644
--- a/arch/linux/common/os.h
+++ b/arch/linux/common/os.h
@@ -75,7 +75,9 @@ detect_desktop_environment(OperatingSystem * os)
obtain the version. */
version = popen("gnome-panel --version", "r");
if (version) {
- fscanf(version, "Gnome gnome-panel %d.%d", &maj, &min);
+ char gnome[10];
+
+ fscanf(version, "%s gnome-panel %d.%d", gnome, &maj, &min);
if (pclose(version))
goto unknown;
} else {
@@ -105,18 +107,23 @@ detect_desktop_environment(OperatingSystem * os)
if (!g_getenv("DISPLAY")) {
os->desktop = g_strdup("Terminal");
} else {
- const gchar *windowman;
GdkScreen *screen = gdk_screen_get_default();
-
- windowman = gdk_x11_screen_get_window_manager_name(screen);
- if (g_str_equal(windowman, "Xfwm4")) {
- /* FIXME: check if xprop -root | grep XFCE_DESKTOP_WINDOW
- is defined */
- os->desktop = g_strdup("XFCE 4");
+ if (screen && GDK_IS_SCREEN(screen)) {
+ const gchar *windowman;
+
+ windowman = gdk_x11_screen_get_window_manager_name(screen);
+
+ if (g_str_equal(windowman, "Xfwm4")) {
+ /* FIXME: check if xprop -root | grep XFCE_DESKTOP_WINDOW
+ is defined */
+ os->desktop = g_strdup("XFCE 4");
+ } else {
+ os->desktop = g_strdup_printf("Unknown (Window Manager: %s)",
+ windowman);
+ }
} else {
- os->desktop = g_strdup_printf("Unknown (Window Manager: %s)",
- windowman);
+ os->desktop = g_strdup("Unknown");
}
}
}