devilhorns pushed a commit to branch master.

commit c2a2b3608310ca9d4ffa112c5f9c159f936b13da
Author: Chris Michael <[email protected]>
Date:   Fri Jun 7 15:39:31 2013 +0100

    During shm engine creation, we can create the ecore_wl_window first
    AND get the surface for it...so that we can pass the surface directly
    to the evas engine.
    
    NB: Works. nothing broken.
    
    Signed-off-by: Chris Michael <[email protected]>
---
 .../engines/wayland/ecore_evas_wayland_shm.c         | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c 
b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c
index adedf62..44f2184 100644
--- a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c
+++ b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_shm.c
@@ -170,6 +170,15 @@ ecore_evas_wayland_shm_new_internal(const char *disp_name, 
unsigned int parent,
         fh = 22;
      }
 
+   /* FIXME: Get if parent is alpha, and set */
+   if (parent)
+     p = ecore_wl_window_find(parent);
+
+   wdata->parent = p;
+   wdata->win = 
+     ecore_wl_window_new(p, x, y, w + fw, h + fh, 
ECORE_WL_WINDOW_BUFFER_TYPE_SHM);
+   ee->prop.window = wdata->win->id;
+
    ee->evas = evas_new();
    evas_data_attach_set(ee->evas, ee);
    evas_output_method_set(ee->evas, method);
@@ -184,21 +193,12 @@ ecore_evas_wayland_shm_new_internal(const char 
*disp_name, unsigned int parent,
    if (ee->prop.draw_frame)
      evas_output_framespace_set(ee->evas, fx, fy, fw, fh);
 
-   if (parent)
-     p = ecore_wl_window_find(parent);
-
-   /* FIXME: Get if parent is alpha, and set */
-
-   wdata->parent = p;
-   wdata->win = 
-     ecore_wl_window_new(p, x, y, w + fw, h + fh, 
ECORE_WL_WINDOW_BUFFER_TYPE_SHM);
-   ee->prop.window = wdata->win->id;
-
    if ((einfo = (Evas_Engine_Info_Wayland_Shm 
*)evas_engine_info_get(ee->evas)))
      {
         einfo->info.wl_shm = ecore_wl_shm_get();
         einfo->info.destination_alpha = ee->alpha;
         einfo->info.rotation = ee->rotation;
+        einfo->info.wl_surface = ecore_wl_window_surface_create(wdata->win);
         if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
           {
              ERR("Failed to set Evas Engine Info for '%s'", ee->driver);

-- 

------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. A cloud service to automate IT design, transition and operations
2. Dashboards that offer high-level views of enterprise services
3. A single system of record for all IT processes
http://p.sf.net/sfu/servicenow-d2d-j

Reply via email to