[vlc-commits] win32: use PostMessage in event handlers to avoid deadlocks

Sergey Radionov git at videolan.org
Tue Feb 7 04:49:59 CET 2012


npapi-vlc | branch: master | Sergey Radionov <rsatom at gmail.com> | Sat Feb  4 23:34:11 2012 +0700| [76b933b514887986b90b7732fd42963b910de0e9] | committer: Rafaël Carré

win32: use PostMessage in event handlers to avoid deadlocks

when main thread wait something. It's fixing "stop" bug.

Signed-off-by: Rafaël Carré <funman at videolan.org>

> http://git.videolan.org/gitweb.cgi/npapi-vlc.git/?a=commit;h=76b933b514887986b90b7732fd42963b910de0e9
---

 common/win32_fullscreen.cpp |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/common/win32_fullscreen.cpp b/common/win32_fullscreen.cpp
index e1d7f0a..c0d8ab3 100644
--- a/common/win32_fullscreen.cpp
+++ b/common/win32_fullscreen.cpp
@@ -498,7 +498,7 @@ void VLCControlsWnd::SetVideoPosScrollRangeByVideoLen()
 
 void VLCControlsWnd::SetVideoPosScrollPosByVideoPos(libvlc_time_t CurScrollPos)
 {
-    SendMessage(hVideoPosScroll, (UINT)PBM_SETPOS, (WPARAM) (CurScrollPos >> VideoPosShiftBits), 0);
+    PostMessage(hVideoPosScroll, (UINT)PBM_SETPOS, (WPARAM) (CurScrollPos >> VideoPosShiftBits), 0);
 }
 
 void VLCControlsWnd::SetVideoPos(float Pos) //0-start, 1-end
@@ -561,15 +561,15 @@ void VLCControlsWnd::handle_input_state_event(const libvlc_event_t* event)
     switch( event->type )
     {
         case libvlc_MediaPlayerPlaying:
-            SendMessage(hPlayPauseButton, BM_SETIMAGE,
+            PostMessage(hPlayPauseButton, BM_SETIMAGE,
                         (WPARAM)IMAGE_BITMAP, (LPARAM)RC().hPauseBitmap);
             break;
         case libvlc_MediaPlayerPaused:
-            SendMessage(hPlayPauseButton, BM_SETIMAGE,
+            PostMessage(hPlayPauseButton, BM_SETIMAGE,
                         (WPARAM)IMAGE_BITMAP, (LPARAM)RC().hPlayBitmap);
             break;
         case libvlc_MediaPlayerStopped:
-            SendMessage(hPlayPauseButton, BM_SETIMAGE,
+            PostMessage(hPlayPauseButton, BM_SETIMAGE,
                         (WPARAM)IMAGE_BITMAP, (LPARAM)RC().hPlayBitmap);
             break;
     }



More information about the vlc-commits mailing list