From ad742e3cce6e6659fb30c86aa427725b86607c6c Mon Sep 17 00:00:00 2001 From: devilhorns Date: Mon, 10 Sep 2012 12:27:27 +0000 Subject: [PATCH] Ecore_X: Backport randr crtcs fix and update ChangeLog. git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/branches/ecore-1.7@76399 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- ChangeLog | 4 ++++ src/lib/ecore_x/xlib/ecore_x_randr_12.c | 10 +++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 10bee7a..0fc0a46 100644 --- a/ChangeLog +++ b/ChangeLog @@ -909,3 +909,7 @@ 2012-09-08 Vincent Torri * Fix readlink usage in ecore_file. + +2012-09-10 Christopher Michael + + * Fix ecore_x_randr to actually return crtcs properly. diff --git a/src/lib/ecore_x/xlib/ecore_x_randr_12.c b/src/lib/ecore_x/xlib/ecore_x_randr_12.c index 417efb3..26a2639 100644 --- a/src/lib/ecore_x/xlib/ecore_x_randr_12.c +++ b/src/lib/ecore_x/xlib/ecore_x_randr_12.c @@ -527,13 +527,17 @@ ecore_x_randr_crtcs_get(Ecore_X_Window root, XRRScreenResources *res = NULL; Ecore_X_Randr_Crtc *ret = NULL; - if (num && root && + if (root && (res = _ecore_x_randr_get_screen_resources (_ecore_x_disp, root))) { if ((ret = malloc(sizeof(Ecore_X_Randr_Crtc) * res->ncrtc))) { - memcpy(ret, res->crtcs, (sizeof(Ecore_X_Randr_Crtc) * res->ncrtc)); - *num = res->ncrtc; + int i = 0; + + if (num) *num = res->ncrtc; + + for (i = 0; i < res->ncrtc; i++) + ret[i] = res->crtcs[i]; } XRRFreeScreenResources(res); -- 2.7.4