diff --git a/legacy/ecore/src/lib/ecore_x/xlib/ecore_x_randr_12.c b/legacy/ecore/src/lib/ecore_x/xlib/ecore_x_randr_12.c index b839736a88..1339a4d76f 100644 --- a/legacy/ecore/src/lib/ecore_x/xlib/ecore_x_randr_12.c +++ b/legacy/ecore/src/lib/ecore_x/xlib/ecore_x_randr_12.c @@ -532,8 +532,12 @@ ecore_x_randr_crtcs_get(Ecore_X_Window 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);