]> git.sesse.net Git - vlc/commitdiff
* BeOS crash fix by Wade Majors <guru@startrek.com>.
authorSam Hocevar <sam@videolan.org>
Sun, 29 Apr 2001 17:03:20 +0000 (17:03 +0000)
committerSam Hocevar <sam@videolan.org>
Sun, 29 Apr 2001 17:03:20 +0000 (17:03 +0000)
    Please, try no to forget the ChangeLog when commiting!

ChangeLog
plugins/beos/intf_beos.cpp
plugins/beos/vout_beos.cpp
src/misc/beos_specific.cpp

index 23356ab985f313d4a5db09a764f053fda636869b..bea3f5cee95160def45e158f056ba4e166290ea3 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,7 +4,14 @@
 
 HEAD
 
-  * Nothing yet
+  * BeOS crash fix by Wade Majors <guru@startrek.com>.
+  * Slight modification in ClockManageRef: after a synchro reinit, we still
+    do the mwait and re-init last-cr.
+  * New audio output using direct AC3 pass-thru.
+  * Fix for a buffer overflow in the Gnome interface by Shane Harper
+    <shanegh@optusnet.com.au>.
+  * DVD chapter change fixed.
+  * Fixed a bug in TS input, which should be much smoother now.
 
 0.2.73
 Sat, 28 Apr 2001 07:02:35 +0200
index e17ccc9bbf8c01873fb91c9afaa1589db81add0f..bee872e340d782f9638c185a03f5f73f75d30fc8 100644 (file)
@@ -2,7 +2,7 @@
  * intf_beos.cpp: beos interface
  *****************************************************************************
  * Copyright (C) 1999, 2000, 2001 VideoLAN
- * $Id: intf_beos.cpp,v 1.25 2001/04/15 04:19:57 sam Exp $
+ * $Id: intf_beos.cpp,v 1.26 2001/04/29 17:03:20 sam Exp $
  *
  * Authors: Jean-Marc Dressler <polux@via.ecp.fr>
  *          Samuel Hocevar <sam@zoy.org>
@@ -119,23 +119,26 @@ InterfaceWindow::InterfaceWindow( BRect frame, const char *name , intf_thread_t
     menu_bar = new BMenuBar(rect, "main menu");
     AddChild( menu_bar );
 
-       BMenu *m; 
-       BMenu *am;
+       BMenu *mFile
+       BMenu *mAudio;
        CDMenu *cd_menu;
+       
+       BMenuItem *mItem;
 
-       menu_bar->AddItem( m = new BMenu("File") );
+       menu_bar->AddItem( mFile = new BMenu("File") );
        menu_bar->ResizeToPreferred();
-       m->AddItem( new BMenuItem("Open File" B_UTF8_ELLIPSIS, new BMessage(OPEN_FILE), 'O'));
+       mFile->AddItem(mItem = new BMenuItem("Open File" B_UTF8_ELLIPSIS, new BMessage(OPEN_FILE), 'O'));
        cd_menu = new CDMenu("Open Disc");
-       m->AddItem(cd_menu);
-       m->AddSeparatorItem();
-       m->AddItem( new BMenuItem("About" B_UTF8_ELLIPSIS, new BMessage(B_ABOUT_REQUESTED), 'A'));
-       m->AddItem( new BMenuItem("Quit", new BMessage(B_QUIT_REQUESTED), 'Q'));
+       mFile->AddItem(cd_menu);
+       mFile->AddSeparatorItem();
+       mFile->AddItem(mItem = new BMenuItem("About" B_UTF8_ELLIPSIS, new BMessage(B_ABOUT_REQUESTED), 'A'));
+       mItem->SetTarget( be_app );
+       mFile->AddItem(mItem = new BMenuItem("Quit", new BMessage(B_QUIT_REQUESTED), 'Q'));
 
-       menu_bar->AddItem (am = new BMenu("Audio") );
+       menu_bar->AddItem ( mAudio = new BMenu("Audio") );
        menu_bar->ResizeToPreferred();
-       am->AddItem( new LanguageMenu("Language", AUDIO_ES, p_intf) );
-       am->AddItem( new LanguageMenu("Subtitles", SPU_ES, p_intf) );
+       mAudio->AddItem( new LanguageMenu("Language", AUDIO_ES, p_intf) );
+       mAudio->AddItem( new LanguageMenu("Subtitles", SPU_ES, p_intf) );
        
 
     rect = Bounds();
@@ -245,10 +248,10 @@ void InterfaceWindow::MessageReceived( BMessage * p_message )
        Activate();
     switch( p_message->what )
     {
-    case B_ABOUT_REQUESTED:
-               alert = new BAlert(VOUT_TITLE, "BeOS " VOUT_TITLE "\n\n<www.videolan.org>", "Ok");
-           alert->Go();
-           break;      
+//    case B_ABOUT_REQUESTED:
+//             alert = new BAlert(VOUT_TITLE, "BeOS " VOUT_TITLE "\n\n<www.videolan.org>", "Ok");
+//         alert->Go();
+//         break;      
     
     case OPEN_FILE:
        if(file_panel)
index 7f646a9ae50a58e82e367708b8f9da8a19f5c584..468fc73f041f31dba319a85f0885ec4f36d43edf 100644 (file)
@@ -2,7 +2,7 @@
  * vout_beos.cpp: beos video output display method
  *****************************************************************************
  * Copyright (C) 2000, 2001 VideoLAN
- * $Id: vout_beos.cpp,v 1.24 2001/04/02 22:40:07 richards Exp $
+ * $Id: vout_beos.cpp,v 1.25 2001/04/29 17:03:20 sam Exp $
  *
  * Authors: Jean-Marc Dressler <polux@via.ecp.fr>
  *          Samuel Hocevar <sam@zoy.org>
@@ -121,29 +121,45 @@ BWindow *beos_GetAppWindow(char *name)
 
 int32 DrawingThread(void *data)
 {
-    VideoWindow *w;
-    w = (VideoWindow*) data;
+  VideoWindow *w;
+  w = (VideoWindow*) data;
     
-    while(!w->teardownwindow)
+  while(!w->teardownwindow)
+  {
+    if (w->Lock())
     {
-    w->Lock();
-       if( w->fDirty )
-            {
-               if(w->fUsingOverlay)
-                               {
-                               rgb_color key;
-                               w->view->SetViewOverlay(w->bitmap[w->i_buffer_index], w->bitmap[w->i_buffer_index]->Bounds(), w->Bounds(), &key, B_FOLLOW_ALL,
-                               B_OVERLAY_FILTER_HORIZONTAL|B_OVERLAY_FILTER_VERTICAL|B_OVERLAY_TRANSFER_CHANNEL);
-                               w->view->SetViewColor(key);
-                               }
-               else
-                       w->view->DrawBitmap(w->bitmap[w->i_buffer_index], w->bitmap[w->i_buffer_index]->Bounds(), w->Bounds());
-            w->fDirty = false;
-            }
-    w->Unlock();
-       snooze(20000);
-    }
-    return B_OK;
+      if( w->fDirty )
+      {
+        if(w->fUsingOverlay)
+        {
+          rgb_color key;
+           w->view->SetViewOverlay( w->bitmap[w->i_buffer_index],
+                                    w->bitmap[w->i_buffer_index]->Bounds(),
+                                    w->Bounds(),
+                                    &key,
+                                    B_FOLLOW_ALL,
+                                                   B_OVERLAY_FILTER_HORIZONTAL | B_OVERLAY_FILTER_VERTICAL
+                                                   | B_OVERLAY_TRANSFER_CHANNEL );
+           w->view->SetViewColor(key);
+         }
+         else
+         {
+           w->view->DrawBitmap( w->bitmap[w->i_buffer_index],
+                                w->bitmap[w->i_buffer_index]->Bounds(),
+                                w->Bounds());
+         }
+         
+         w->fDirty = false;
+       }
+     w->Unlock();
+   }
+   else  // we couldn't lock the window, it probably closed.
+     return B_ERROR;
+     
+   snooze (20000);
+ } // while
+
+  return B_OK;
 }
 
 /*****************************************************************************
index d99918fd2512c8c79351cc4b0252cfe84994afcc..dfcdb1c3b9fd634cad88b64af7b15c602a9f8608 100644 (file)
@@ -2,7 +2,7 @@
  * beos_init.cpp: Initialization for BeOS specific features 
  *****************************************************************************
  * Copyright (C) 1999, 2000 VideoLAN
- * $Id: beos_specific.cpp,v 1.9 2001/04/14 07:41:20 sam Exp $
+ * $Id: beos_specific.cpp,v 1.10 2001/04/29 17:03:20 sam Exp $
  *
  * Authors: Jean-Marc Dressler <polux@via.ecp.fr>
  *
 #include <Application.h>
 #include <Roster.h>
 #include <Path.h>
+#include <Alert.h>
 #include <stdio.h>
 #include <string.h> /* strdup() */
 #include <malloc.h>   /* free() */
 
 extern "C"
 {
+#include "config.h"
 #include "common.h"
 #include "threads.h"
 #include "mtime.h"
@@ -46,7 +48,8 @@ public:
     VlcApplication(char* );
     ~VlcApplication();
 
-    void ReadyToRun();
+    virtual void ReadyToRun();
+    virtual void AboutRequested();
 };
 
 /*****************************************************************************
@@ -140,7 +143,17 @@ VlcApplication::~VlcApplication( )
 }
 
 /*****************************************************************************
- * ~ReadyToRun: called when the BApplication is initialized
+ * AboutRequested: called by the system on B_ABOUT_REQUESTED
+ *****************************************************************************/
+void VlcApplication::AboutRequested( )
+{
+       BAlert *alert;
+       alert = new BAlert( VOUT_TITLE, "BeOS " VOUT_TITLE "\n\n<www.videolan.org>", "Ok" );
+       alert->Go( NULL );
+}
+
+/*****************************************************************************
+ * ReadyToRun: called when the BApplication is initialized
  *****************************************************************************/
 void VlcApplication::ReadyToRun( )
 {