On Wed, Aug 27, 2014 at 6:32 AM, Tom Hacohen <[email protected]> wrote: > We use @fix, not @bug. :) > > -- > Tom. > > On 27/08/14 10:27, Carsten Haitzler wrote: >> raster pushed a commit to branch efl-1.11. >> >> http://git.enlightenment.org/core/efl.git/commit/?id=26783f45dd419873f4dc2a9ab3a1e4b421f2c4ca >> >> commit 26783f45dd419873f4dc2a9ab3a1e4b421f2c4ca >> Author: Carsten Haitzler (Rasterman) <[email protected]> >> Date: Wed Aug 27 18:26:58 2014 +0900 >> >> ecore vsync - work around old kernels by blacklisting them >> >> this is a bug workaround apparently old kernels that seems to get >> vsync and timestamps wrong. 3.14 kernels and up only for now >> >> @bug >> --- >> src/lib/ecore_x/xlib/ecore_x_vsync.c | 21 +++++++++++++++++++++ >> 1 file changed, 21 insertions(+) >> >> diff --git a/src/lib/ecore_x/xlib/ecore_x_vsync.c >> b/src/lib/ecore_x/xlib/ecore_x_vsync.c >> index ec41d0d..1924dfc 100644 >> --- a/src/lib/ecore_x/xlib/ecore_x_vsync.c >> +++ b/src/lib/ecore_x/xlib/ecore_x_vsync.c >> @@ -345,6 +345,27 @@ _drm_init(void) >> */ >> return 0; >> } >> + // only do this on new kernels = let's say 3.14 and up. 3.16 definitely >> + // works >> + { >> + Eina_Bool ok = EINA_FALSE; >> + >> + FILE *fp = fopen("/proc/sys/kernel/osrelease", "r"); >> + if (fp) >> + { >> + if (fgets(buf, sizeof(buf), fp)) >> + { >> + int vmaj = 0, vmin = 0; >> + >> + if (sscanf(buf, "%i.%i.%*s", &vmaj, &vmin) == 2) >> + { >> + if ((vmaj >= 3) && (vmin >= 14)) ok = EINA_TRUE; >> + } >> + } >> + fclose(fp); >> + } >> + if (!ok) return 0;
So if a 3.11 kernel has been patch to do the right thing, you still return 0. Parsing the kernel version is in general a bad thing to do. -- Lucas De Marchi ------------------------------------------------------------------------------ Slashdot TV. Video for Nerds. Stuff that matters. http://tv.slashdot.org/ _______________________________________________ enlightenment-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
