raster pushed a commit to branch efl-1.17.

http://git.enlightenment.org/core/efl.git/commit/?id=7c75aba57d556ec2b4e7ae33619af06844be7bbb

commit 7c75aba57d556ec2b4e7ae33619af06844be7bbb
Author: Carsten Haitzler (Rasterman) <ras...@rasterman.com>
Date:   Tue Jul 5 15:56:43 2016 +0900

    efreet - fix mime file path messing with short paths like /
    
    this fixes T4015
    
    @fix
---
 src/lib/efreet/efreet_mime.c                           | 7 +++++--
 src/modules/evas/engines/gl_cocoa/evas_gl_cocoa_main.m | 1 +
 src/modules/evas/engines/gl_x11/evas_x_main.c          | 2 ++
 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 adfa790..87ca8ef 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 ea29753..7c743dc 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
@@ -119,6 +119,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 031f790..8a8560f 100644
--- a/src/modules/evas/engines/gl_x11/evas_x_main.c
+++ b/src/modules/evas/engines/gl_x11/evas_x_main.c
@@ -674,6 +674,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 e65570c..79d62b2 100644
--- a/src/modules/evas/engines/wayland_egl/evas_wl_main.c
+++ b/src/modules/evas/engines/wayland_egl/evas_wl_main.c
@@ -227,6 +227,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)
      {

-- 


Reply via email to