diff options
author | Carsten Haitzler (Rasterman) <raster@rasterman.com> | 2016-07-05 15:56:43 +0900 |
---|---|---|
committer | Carsten Haitzler (Rasterman) <raster@rasterman.com> | 2016-07-05 16:28:52 +0900 |
commit | 2ca5075193e27dbc30f26e478019719a5360cc84 (patch) | |
tree | 572e538109ae08ad92729a4f1307fdc877754245 | |
parent | e24366de25c3ae5a26fd1f1e8d77bc4b7c13c0be (diff) | |
download | efl-2ca5075193e27dbc30f26e478019719a5360cc84.tar.gz |
efreet - fix mime file path messing with short paths like /
this fixes T4015
@fix
-rw-r--r-- | src/lib/efreet/efreet_mime.c | 7 | ||||
-rw-r--r-- | src/modules/evas/engines/gl_cocoa/evas_gl_cocoa_main.m | 1 | ||||
-rw-r--r-- | src/modules/evas/engines/gl_x11/evas_x_main.c | 2 | ||||
-rw-r--r-- | src/modules/evas/engines/wayland_egl/evas_wl_main.c | 1 |
4 files changed, 9 insertions, 2 deletions
diff --git a/src/lib/efreet/efreet_mime.c b/src/lib/efreet/efreet_mime.c index adfa79053a..87ca8ef414 100644 --- a/src/lib/efreet/efreet_mime.c +++ b/src/lib/efreet/efreet_mime.c @@ -711,10 +711,13 @@ efreet_mime_special_check(const char *file) parent[PATH_MAX - 1] = '\0'; /* Kill any trailing slash */ - parent[--path_len] = '\0'; + if (parent[path_len - 1] == '/') + parent[--path_len] = '\0'; /* Truncate to last slash */ - while (parent[--path_len] != '/') parent[path_len] = '\0'; + while ((path_len > 0) && + (parent[--path_len] != '/')) + parent[path_len] = '\0'; #ifdef _WIN32 if (!stat(file, &s2)) diff --git a/src/modules/evas/engines/gl_cocoa/evas_gl_cocoa_main.m b/src/modules/evas/engines/gl_cocoa/evas_gl_cocoa_main.m index 15dc218d82..7df919f0e4 100644 --- a/src/modules/evas/engines/gl_cocoa/evas_gl_cocoa_main.m +++ b/src/modules/evas/engines/gl_cocoa/evas_gl_cocoa_main.m @@ -120,6 +120,7 @@ eng_window_free(Evas_GL_Cocoa_Window *gw) void eng_window_use(Evas_GL_Cocoa_Window *gw) { + if ((gw) && (!gw->gl_context)) return; if (_evas_gl_cocoa_window != gw) { [[(NSOpenGLView*)gw->view openGLContext] makeCurrentContext]; diff --git a/src/modules/evas/engines/gl_x11/evas_x_main.c b/src/modules/evas/engines/gl_x11/evas_x_main.c index 59361e11e0..f5e2edf7ce 100644 --- a/src/modules/evas/engines/gl_x11/evas_x_main.c +++ b/src/modules/evas/engines/gl_x11/evas_x_main.c @@ -676,6 +676,8 @@ eng_window_use(Outbuf *gw) xwin = _tls_outbuf_get(); glsym_evas_gl_preload_render_lock(eng_window_make_current, gw); + if ((gw) && (!gw->gl_context)) return; + #ifdef GL_GLES if (xwin) { diff --git a/src/modules/evas/engines/wayland_egl/evas_wl_main.c b/src/modules/evas/engines/wayland_egl/evas_wl_main.c index 489a475315..14e13ff264 100644 --- a/src/modules/evas/engines/wayland_egl/evas_wl_main.c +++ b/src/modules/evas/engines/wayland_egl/evas_wl_main.c @@ -233,6 +233,7 @@ eng_window_use(Outbuf *gw) Eina_Bool force = EINA_FALSE; glsym_evas_gl_preload_render_lock(eng_preload_make_current, gw); + if ((gw) && (!gw->gl_context)) return; if (_evas_gl_wl_window) { |