diff options
author | Agney Lopes Roth Ferraz <agney@debian.org> | 2007-04-09 11:45:31 -0300 |
---|---|---|
committer | Simon Quigley <tsimonq2@ubuntu.com> | 2017-06-19 14:38:41 -0500 |
commit | adb3993ba087ede46f62d5f018e17b07e99b5260 (patch) | |
tree | 67b4fa7e224f09d21eb76060422ca23e50e6dfe0 /arch/linux/common/os.h | |
parent | b3e31ae3787c8806f48c85a52bba9aa3554e2c07 (diff) | |
parent | 11b8179a57e675c6672cbe649c655230ae3e9744 (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.h | 27 |
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"); } } } |