Francois Gouget : xrandr: Small X11DRV_XRandR_(Get|Set)CurrentMode() code optimisations.

Alexandre Julliard julliard at wine.codeweavers.com
Fri Jan 12 05:39:11 CST 2007


Module: wine
Branch: master
Commit: c255bf4676ac039b0718466c503f1f0064610742
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=c255bf4676ac039b0718466c503f1f0064610742

Author: Francois Gouget <fgouget at codeweavers.com>
Date:   Thu Jan 11 15:47:06 2007 +0100

xrandr: Small X11DRV_XRandR_(Get|Set)CurrentMode() code optimisations.

---

 dlls/winex11.drv/xrandr.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/dlls/winex11.drv/xrandr.c b/dlls/winex11.drv/xrandr.c
index 8282794..997fc72 100644
--- a/dlls/winex11.drv/xrandr.c
+++ b/dlls/winex11.drv/xrandr.c
@@ -162,6 +162,8 @@ static int X11DRV_XRandR_GetCurrentMode(
     sc = pXRRGetScreenInfo (gdi_display, root);
     size = pXRRConfigCurrentConfiguration (sc, &rot);
     rate = pXRRConfigCurrentRate (sc);
+    pXRRFreeScreenConfigInfo(sc);
+    wine_tsx11_unlock();
     for (i = 0; i < real_xrandr_modes_count; i++)
     {
         if ( (dd_modes[i].dwWidth      == real_xrandr_sizes[size].width ) &&
@@ -169,10 +171,9 @@ static int X11DRV_XRandR_GetCurrentMode(
              (dd_modes[i].wRefreshRate == rate                          ) )
           {
               res = i;
+              break;
           }
     }
-    pXRRFreeScreenConfigInfo(sc);
-    wine_tsx11_unlock();
     if (res == -1)
     {
         ERR("In unknown mode, returning default\n");
@@ -226,6 +227,7 @@ static void X11DRV_XRandR_SetCurrentMode
                               dd_modes[mode].dwWidth, dd_modes[mode].dwHeight, rate);
                         stat = pXRRSetScreenConfigAndRate (gdi_display, sc, root, 
                                                           size, rot, rate, CurrentTime);
+                        break;
                     }
                 }
             }
@@ -235,6 +237,7 @@ static void X11DRV_XRandR_SetCurrentMode
 		      dd_modes[mode].dwWidth, dd_modes[mode].dwHeight);
                 stat = pXRRSetScreenConfig (gdi_display, sc, root, size, rot, CurrentTime);
             }
+            break;
         }
     }
     pXRRFreeScreenConfigInfo(sc);




More information about the wine-cvs mailing list