antognolli pushed a commit to branch master.

commit f18174f30248dde2e2f9afb662f05f6709bd40e3
Author: Rafael Antognolli <[email protected]>
Date:   Wed Apr 24 17:14:15 2013 -0300

    ecore_evas/wayland: Fix rotation when going back to 0 or 180 degrees.
---
 .../engines/wayland/ecore_evas_wayland_common.c    | 24 ++++++++++++++++++----
 1 file changed, 20 insertions(+), 4 deletions(-)

diff --git a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c 
b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c
index 805c3cf..66094c6 100644
--- a/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c
+++ b/src/modules/ecore_evas/engines/wayland/ecore_evas_wayland_common.c
@@ -275,10 +275,26 @@ _ecore_evas_wl_common_rotation_set(Ecore_Evas *ee, int 
rotation, int resize)
                {
                   int fw, fh;
                   evas_output_framespace_get(ee->evas, NULL, NULL, &fw, &fh);
-                  ecore_wl_window_resize(wdata->win, ee->h + fh, ee->w + fw, 
0);
-                  ecore_wl_window_update_size(wdata->win, ee->h + fh, ee->w + 
fw);
-                  evas_output_size_set(ee->evas, ee->req.w + fw, ee->req.h + 
fh);
-                  evas_output_viewport_set(ee->evas, 0, 0, ee->req.w + fw, 
ee->req.h + fh);
+                  if ((rotation == 0) || (rotation == 180))
+                    {
+                       ecore_wl_window_resize(wdata->win, ee->h + fw, ee->w + 
fh, 0);
+                       ecore_wl_window_update_size(wdata->win, ee->h + fw, 
ee->w + fh);
+                    }
+                  else
+                    {
+                       ecore_wl_window_resize(wdata->win, ee->h + fh, ee->w + 
fw, 0);
+                       ecore_wl_window_update_size(wdata->win, ee->h + fh, 
ee->w + fw);
+                    }
+                  if ((ee->rotation == 0) || (ee->rotation == 180))
+                    {
+                       evas_output_size_set(ee->evas, ee->w + fw, ee->h + fh);
+                       evas_output_viewport_set(ee->evas, 0, 0, ee->w + fw, 
ee->h + fh);
+                    }
+                  else
+                    {
+                       evas_output_size_set(ee->evas, ee->h + fw, ee->w + fh);
+                       evas_output_viewport_set(ee->evas, 0, 0, ee->h + fw, 
ee->w + fh);
+                    }
                }
              else
                {

-- 

------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr

Reply via email to