diff --git a/configure.ac b/configure.ac index 9d12cc813c..2d2e3773dc 100644 --- a/configure.ac +++ b/configure.ac @@ -2875,6 +2875,10 @@ if test "x${want_x11_xlib}" = "xyes" ; then ECORE_CHECK_X_EXTENSION([Xtest], [XTest.h], [Xtst], [XTestFakeKeyEvent]) ECORE_CHECK_X_EXTENSION([Xss], [scrnsaver.h], [Xss], [XScreenSaverSelectInput]) + if test echo "$ECORE_X_LIBS" | grep -q Xrandr ; then + PKG_CHECK_EXISTS([xrandr > 1.3.1], [], [AC_MSG_ERROR([Xrandr >= 1.3.1 required])]) + fi + if test "${want_xpresent}" = "yes"; then ECORE_CHECK_X_EXTENSION([Xpresent], [Xpresent.h], [Xpresent], [XPresentQueryExtension]) fi diff --git a/src/lib/ecore_x/xlib/ecore_x_randr.c b/src/lib/ecore_x/xlib/ecore_x_randr.c index c33760bfe2..a88fcff609 100644 --- a/src/lib/ecore_x/xlib/ecore_x_randr.c +++ b/src/lib/ecore_x/xlib/ecore_x_randr.c @@ -2206,13 +2206,8 @@ ecore_x_randr_output_name_get(Ecore_X_Window root, Ecore_X_Randr_Output output, { if (info->name) { - /* FIXME: TODO: NB: - * - * Old randr code says there is an xrandr bug here with - * nameLen. Test This !!! - * - */ - ret = strdup(info->name); + ret = malloc(info->nameLen); + memcpy(ret, info->name, info->nameLen); if (len) *len = info->nameLen; }