All pastes #849609 Raw Edit

Stuff

public text v1 · immutable
#849609 ·published 2008-01-10 17:32 UTC
rendered paste body
Index: tv_play.cpp
===================================================================
--- tv_play.cpp (revision 15302)
+++ tv_play.cpp (working copy)
....

@@ -2210,14 +2239,15 @@
         
         if (exitPlayer)
         {
-            while (GetOSD() && GetOSD()->DialogShowing(dialogname))
+            int tries = 10;
+            while (GetOSD() && GetOSD()->DialogShowing(dialogname) && tries--)
             {
                 GetOSD()->DialogAbort(dialogname);
                 GetOSD()->TurnDialogOff(dialogname);
+                VERBOSE(VB_PLAYBACK, LOC + "RunTV() exitPlayer waiting for OSD: "<<dialogname);
                 usleep(1000);
             }

The frontend can get stuck in this loop sometimes. I'm not able to deduce the rules
regarding OSD handling from the code.

Worried that exiting this loop early will cause leaks or miss some needed cleanup or something.