[vlc-commits] video_output: win32: fix recursive call to vout_display_SendEventDisplaySize

Steve Lhomme git at videolan.org
Mon May 28 09:38:23 CEST 2018


vlc | branch: master | Steve Lhomme <robux4 at ycbcr.xyz> | Mon May 28 09:35:58 2018 +0200| [39ee73994e860bfbfc45d2a3ac51e50d8a799e5d] | committer: Steve Lhomme

video_output: win32: fix recursive call to vout_display_SendEventDisplaySize

A changing value may be receive while another one is being treated, resulting
in an infinite loop (via event calls).

Fix regression after a4942d980a4d92ab8819b019d47804d43410efb2

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=39ee73994e860bfbfc45d2a3ac51e50d8a799e5d
---

 modules/video_output/win32/common.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/modules/video_output/win32/common.c b/modules/video_output/win32/common.c
index 0d076ef487..2caccc6ad1 100644
--- a/modules/video_output/win32/common.c
+++ b/modules/video_output/win32/common.c
@@ -170,13 +170,15 @@ void UpdateRects(vout_display_t *vd,
     is_resized = rect.right != (sys->rect_display.right - sys->rect_display.left) ||
         rect.bottom != (sys->rect_display.bottom - sys->rect_display.top);
     sys->rect_display = rect;
+#if 0 /* this may still be needed */
+    if (is_resized)
+        vout_display_SendEventDisplaySize(vd, rect.right, rect.bottom);
+#endif
 #else
     EventThreadUpdateWindowPosition(sys->event, &has_moved, &is_resized,
         point.x, point.y,
         rect.right, rect.bottom);
 #endif
-    if (is_resized)
-        vout_display_SendEventDisplaySize(vd, rect.right, rect.bottom);
     if (!is_forced && !has_moved && !is_resized)
         return;
 



More information about the vlc-commits mailing list