summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>2016-07-05 15:56:43 +0900
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2016-07-05 16:28:52 +0900
commit2ca5075193e27dbc30f26e478019719a5360cc84 (patch)
tree572e538109ae08ad92729a4f1307fdc877754245
parente24366de25c3ae5a26fd1f1e8d77bc4b7c13c0be (diff)
downloadefl-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.c7
-rw-r--r--src/modules/evas/engines/gl_cocoa/evas_gl_cocoa_main.m1
-rw-r--r--src/modules/evas/engines/gl_x11/evas_x_main.c2
-rw-r--r--src/modules/evas/engines/wayland_egl/evas_wl_main.c1
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)
{