Commit 2cc08ef1 authored by Sam Hocevar's avatar Sam Hocevar

  * BeOS crash fix by Wade Majors <guru@startrek.com>.

    Please, try no to forget the ChangeLog when commiting!
parent dcca341b
...@@ -4,7 +4,14 @@ ...@@ -4,7 +4,14 @@
HEAD 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 0.2.73
Sat, 28 Apr 2001 07:02:35 +0200 Sat, 28 Apr 2001 07:02:35 +0200
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* intf_beos.cpp: beos interface * intf_beos.cpp: beos interface
***************************************************************************** *****************************************************************************
* Copyright (C) 1999, 2000, 2001 VideoLAN * 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> * Authors: Jean-Marc Dressler <polux@via.ecp.fr>
* Samuel Hocevar <sam@zoy.org> * Samuel Hocevar <sam@zoy.org>
...@@ -119,23 +119,26 @@ InterfaceWindow::InterfaceWindow( BRect frame, const char *name , intf_thread_t ...@@ -119,23 +119,26 @@ InterfaceWindow::InterfaceWindow( BRect frame, const char *name , intf_thread_t
menu_bar = new BMenuBar(rect, "main menu"); menu_bar = new BMenuBar(rect, "main menu");
AddChild( menu_bar ); AddChild( menu_bar );
BMenu *m; BMenu *mFile;
BMenu *am; BMenu *mAudio;
CDMenu *cd_menu; CDMenu *cd_menu;
BMenuItem *mItem;
menu_bar->AddItem( m = new BMenu("File") ); menu_bar->AddItem( mFile = new BMenu("File") );
menu_bar->ResizeToPreferred(); 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"); cd_menu = new CDMenu("Open Disc");
m->AddItem(cd_menu); mFile->AddItem(cd_menu);
m->AddSeparatorItem(); mFile->AddSeparatorItem();
m->AddItem( new BMenuItem("About" B_UTF8_ELLIPSIS, new BMessage(B_ABOUT_REQUESTED), 'A')); mFile->AddItem(mItem = new BMenuItem("About" B_UTF8_ELLIPSIS, new BMessage(B_ABOUT_REQUESTED), 'A'));
m->AddItem( new BMenuItem("Quit", new BMessage(B_QUIT_REQUESTED), 'Q')); 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(); menu_bar->ResizeToPreferred();
am->AddItem( new LanguageMenu("Language", AUDIO_ES, p_intf) ); mAudio->AddItem( new LanguageMenu("Language", AUDIO_ES, p_intf) );
am->AddItem( new LanguageMenu("Subtitles", SPU_ES, p_intf) ); mAudio->AddItem( new LanguageMenu("Subtitles", SPU_ES, p_intf) );
rect = Bounds(); rect = Bounds();
...@@ -245,10 +248,10 @@ void InterfaceWindow::MessageReceived( BMessage * p_message ) ...@@ -245,10 +248,10 @@ void InterfaceWindow::MessageReceived( BMessage * p_message )
Activate(); Activate();
switch( p_message->what ) switch( p_message->what )
{ {
case B_ABOUT_REQUESTED: // case B_ABOUT_REQUESTED:
alert = new BAlert(VOUT_TITLE, "BeOS " VOUT_TITLE "\n\n<www.videolan.org>", "Ok"); // alert = new BAlert(VOUT_TITLE, "BeOS " VOUT_TITLE "\n\n<www.videolan.org>", "Ok");
alert->Go(); // alert->Go();
break; // break;
case OPEN_FILE: case OPEN_FILE:
if(file_panel) if(file_panel)
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* vout_beos.cpp: beos video output display method * vout_beos.cpp: beos video output display method
***************************************************************************** *****************************************************************************
* Copyright (C) 2000, 2001 VideoLAN * 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> * Authors: Jean-Marc Dressler <polux@via.ecp.fr>
* Samuel Hocevar <sam@zoy.org> * Samuel Hocevar <sam@zoy.org>
...@@ -121,29 +121,45 @@ BWindow *beos_GetAppWindow(char *name) ...@@ -121,29 +121,45 @@ BWindow *beos_GetAppWindow(char *name)
int32 DrawingThread(void *data) int32 DrawingThread(void *data)
{ {
VideoWindow *w; VideoWindow *w;
w = (VideoWindow*) data; w = (VideoWindow*) data;
while(!w->teardownwindow) while(!w->teardownwindow)
{
if (w->Lock())
{ {
w->Lock(); if( w->fDirty )
if( w->fDirty ) {
{ if(w->fUsingOverlay)
if(w->fUsingOverlay) {
{ rgb_color key;
rgb_color key; w->view->SetViewOverlay( w->bitmap[w->i_buffer_index],
w->view->SetViewOverlay(w->bitmap[w->i_buffer_index], w->bitmap[w->i_buffer_index]->Bounds(), w->Bounds(), &key, B_FOLLOW_ALL, w->bitmap[w->i_buffer_index]->Bounds(),
B_OVERLAY_FILTER_HORIZONTAL|B_OVERLAY_FILTER_VERTICAL|B_OVERLAY_TRANSFER_CHANNEL); w->Bounds(),
w->view->SetViewColor(key); &key,
} B_FOLLOW_ALL,
else B_OVERLAY_FILTER_HORIZONTAL | B_OVERLAY_FILTER_VERTICAL
w->view->DrawBitmap(w->bitmap[w->i_buffer_index], w->bitmap[w->i_buffer_index]->Bounds(), w->Bounds()); | B_OVERLAY_TRANSFER_CHANNEL );
w->fDirty = false; w->view->SetViewColor(key);
} }
w->Unlock(); else
snooze(20000); {
} w->view->DrawBitmap( w->bitmap[w->i_buffer_index],
return B_OK; 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;
} }
/***************************************************************************** /*****************************************************************************
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* beos_init.cpp: Initialization for BeOS specific features * beos_init.cpp: Initialization for BeOS specific features
***************************************************************************** *****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN * 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> * Authors: Jean-Marc Dressler <polux@via.ecp.fr>
* *
...@@ -25,12 +25,14 @@ ...@@ -25,12 +25,14 @@
#include <Application.h> #include <Application.h>
#include <Roster.h> #include <Roster.h>
#include <Path.h> #include <Path.h>
#include <Alert.h>
#include <stdio.h> #include <stdio.h>
#include <string.h> /* strdup() */ #include <string.h> /* strdup() */
#include <malloc.h> /* free() */ #include <malloc.h> /* free() */
extern "C" extern "C"
{ {
#include "config.h"
#include "common.h" #include "common.h"
#include "threads.h" #include "threads.h"
#include "mtime.h" #include "mtime.h"
...@@ -46,7 +48,8 @@ public: ...@@ -46,7 +48,8 @@ public:
VlcApplication(char* ); VlcApplication(char* );
~VlcApplication(); ~VlcApplication();
void ReadyToRun(); virtual void ReadyToRun();
virtual void AboutRequested();
}; };
/***************************************************************************** /*****************************************************************************
...@@ -140,7 +143,17 @@ VlcApplication::~VlcApplication( ) ...@@ -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( ) void VlcApplication::ReadyToRun( )
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment