summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilipp Lohmann <pl@openoffice.org>2001-08-07 12:19:04 +0000
committerPhilipp Lohmann <pl@openoffice.org>2001-08-07 12:19:04 +0000
commit967680054804f0c7c8a2b662adea53bed3943ae7 (patch)
tree0056a209dd9426d3f6f32efdc1b234f9b31fbabe
parent23278766e252ea975832a38605d7b830d485b986 (diff)
#90497# String does not check for NULL pointer anymore, corrected a pointer cast
-rw-r--r--extensions/source/scanner/sane.hxx21
-rw-r--r--extensions/source/scanner/sanedlg.cxx36
-rw-r--r--extensions/source/scanner/scanunx.cxx59
3 files changed, 81 insertions, 35 deletions
diff --git a/extensions/source/scanner/sane.hxx b/extensions/source/scanner/sane.hxx
index 12a6d52554ca..3833d96fb744 100644
--- a/extensions/source/scanner/sane.hxx
+++ b/extensions/source/scanner/sane.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: sane.hxx,v $
*
- * $Revision: 1.1.1.1 $
+ * $Revision: 1.2 $
*
- * last change: $Author: hr $ $Date: 2000-09-18 16:16:52 $
+ * last change: $Author: pl $ $Date: 2001-08-07 13:19:04 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -61,6 +61,7 @@
#ifndef _SANE_HXX
#define _SANE_HXX
+#include <osl/thread.h>
#include <tools/string.hxx>
#include <vcl/bitmap.hxx>
#include <sane/sane.h>
@@ -77,8 +78,8 @@ class BitmapTransporter : public OWeakObject, AWT::XBitmap
public:
- BitmapTransporter() {}
- virtual ~BitmapTransporter() {}
+ BitmapTransporter();
+ virtual ~BitmapTransporter();
// XInterface
@@ -159,18 +160,18 @@ public:
static int CountDevices()
{ return nDevices; }
static String GetName( int n )
- { return String( ppDevices[n]->name, gsl_getSystemTextEncoding() ); }
+ { return String( ppDevices[n]->name ? ppDevices[n]->name : "", osl_getThreadTextEncoding() ); }
static String GetVendor( int n )
- { return String( ppDevices[n]->vendor, gsl_getSystemTextEncoding() ); }
+ { return String( ppDevices[n]->vendor ? ppDevices[n]->vendor : "", osl_getThreadTextEncoding() ); }
static String GetModel( int n )
- { return String( ppDevices[n]->model, gsl_getSystemTextEncoding() ); }
+ { return String( ppDevices[n]->model ? ppDevices[n]->model : "", osl_getThreadTextEncoding() ); }
static String GetType( int n )
- { return String( ppDevices[n]->type, gsl_getSystemTextEncoding() ); }
+ { return String( ppDevices[n]->type ? ppDevices[n]->type : "", osl_getThreadTextEncoding() ); }
String GetOptionName( int n )
- { return String( (char*)mppOptions[n]->name, gsl_getSystemTextEncoding() ); }
+ { return String( mppOptions[n]->name ? (char*)mppOptions[n]->name : "", osl_getThreadTextEncoding() ); }
String GetOptionTitle( int n )
- { return String( (char*)mppOptions[n]->title, gsl_getSystemTextEncoding() ); }
+ { return String( mppOptions[n]->title ? (char*)mppOptions[n]->title : "", osl_getThreadTextEncoding() ); }
SANE_Value_Type GetOptionType( int n )
{ return mppOptions[n]->type; }
SANE_Unit GetOptionUnit( int n )
diff --git a/extensions/source/scanner/sanedlg.cxx b/extensions/source/scanner/sanedlg.cxx
index 71199cf2506a..acabd673f209 100644
--- a/extensions/source/scanner/sanedlg.cxx
+++ b/extensions/source/scanner/sanedlg.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: sanedlg.cxx,v $
*
- * $Revision: 1.1.1.1 $
+ * $Revision: 1.2 $
*
- * last change: $Author: hr $ $Date: 2000-09-18 16:16:52 $
+ * last change: $Author: pl $ $Date: 2001-08-07 13:19:04 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -463,7 +463,7 @@ IMPL_LINK( SaneDlg, SelectHdl, ListBox*, pListBox )
{
if( pListBox == &maQuantumRangeBox )
{
- ByteString aValue( maQuantumRangeBox.GetSelectEntry(), gsl_getSystemTextEncoding() );
+ ByteString aValue( maQuantumRangeBox.GetSelectEntry(), osl_getThreadTextEncoding() );
double fValue = atof( aValue.GetBuffer() );
mrSane.SetOptionValue( mnCurrentOption, fValue, mnCurrentElement );
}
@@ -481,7 +481,7 @@ IMPL_LINK( SaneDlg, OptionsBoxSelectHdl, SvTreeListBox*, pBox )
{
String aOption =
maOptionBox.GetEntryText( maOptionBox.FirstSelected() );
- int nOption = mrSane.GetOptionByName( ByteString( aOption, gsl_getSystemTextEncoding() ).GetBuffer() );
+ int nOption = mrSane.GetOptionByName( ByteString( aOption, osl_getThreadTextEncoding() ).GetBuffer() );
if( nOption != -1 && nOption != mnCurrentOption )
{
DisableOption();
@@ -595,7 +595,7 @@ IMPL_LINK( SaneDlg, ModifyHdl, Edit*, pEdit )
{
double fValue;
char pBuf[256];
- ByteString aContents( maNumericEdit.GetText(), gsl_getSystemTextEncoding() );
+ ByteString aContents( maNumericEdit.GetText(), osl_getThreadTextEncoding() );
fValue = atof( aContents.GetBuffer() );
if( mfMin != mfMax && ( fValue < mfMin || fValue > mfMax ) )
{
@@ -604,7 +604,7 @@ IMPL_LINK( SaneDlg, ModifyHdl, Edit*, pEdit )
else if( fValue > mfMax )
fValue = mfMax;
sprintf( pBuf, "%g", fValue );
- maNumericEdit.SetText( String( pBuf, gsl_getSystemTextEncoding() ) );
+ maNumericEdit.SetText( String( pBuf, osl_getThreadTextEncoding() ) );
}
mrSane.SetOptionValue( mnCurrentOption, fValue, mnCurrentElement );
}
@@ -615,7 +615,7 @@ IMPL_LINK( SaneDlg, ModifyHdl, Edit*, pEdit )
double fValue;
mrSane.GetOptionValue( mnCurrentOption, fValue, mnCurrentElement );
sprintf( pBuf, "%g", fValue );
- String aValue( pBuf, gsl_getSystemTextEncoding() );
+ String aValue( pBuf, osl_getThreadTextEncoding() );
maNumericEdit.SetText( aValue );
maQuantumRangeBox.SelectEntry( aValue );
}
@@ -765,7 +765,7 @@ void SaneDlg::EstablishStringOption()
{
maOptionDescTxt.SetText( mrSane.GetOptionName( mnCurrentOption ) );
maOptionDescTxt.Show( TRUE );
- maStringEdit.SetText( String( aValue, gsl_getSystemTextEncoding() ) );
+ maStringEdit.SetText( String( aValue, osl_getThreadTextEncoding() ) );
maStringEdit.Show( TRUE );
}
}
@@ -775,10 +775,10 @@ void SaneDlg::EstablishStringRange()
const char** ppStrings = mrSane.GetStringConstraint( mnCurrentOption );
maStringRangeBox.Clear();
for( int i = 0; ppStrings[i] != 0; i++ )
- maStringRangeBox.InsertEntry( String( ppStrings[i], gsl_getSystemTextEncoding() ) );
+ maStringRangeBox.InsertEntry( String( ppStrings[i], osl_getThreadTextEncoding() ) );
ByteString aValue;
mrSane.GetOptionValue( mnCurrentOption, aValue );
- maStringRangeBox.SelectEntry( String( aValue, gsl_getSystemTextEncoding() ) );
+ maStringRangeBox.SelectEntry( String( aValue, osl_getThreadTextEncoding() ) );
maStringRangeBox.Show( TRUE );
maOptionDescTxt.SetText( mrSane.GetOptionName( mnCurrentOption ) );
maOptionDescTxt.Show( TRUE );
@@ -809,13 +809,13 @@ void SaneDlg::EstablishQuantumRange()
for( int i = 0; i < nValues; i++ )
{
sprintf( pBuf, "%g", mpRange[ i ] );
- maQuantumRangeBox.InsertEntry( String( pBuf, gsl_getSystemTextEncoding() ) );
+ maQuantumRangeBox.InsertEntry( String( pBuf, osl_getThreadTextEncoding() ) );
}
double fValue;
if( mrSane.GetOptionValue( mnCurrentOption, fValue, mnCurrentElement ) )
{
sprintf( pBuf, "%g", fValue );
- maQuantumRangeBox.SelectEntry( String( pBuf, gsl_getSystemTextEncoding() ) );
+ maQuantumRangeBox.SelectEntry( String( pBuf, osl_getThreadTextEncoding() ) );
}
maQuantumRangeBox.Show( TRUE );
String aText( mrSane.GetOptionName( mnCurrentOption ) );
@@ -842,12 +842,12 @@ void SaneDlg::EstablishNumericOption()
if( mfMin != mfMax )
{
sprintf( pBuf, " < %g ; %g >", mfMin, mfMax );
- aText += String( pBuf, gsl_getSystemTextEncoding() );
+ aText += String( pBuf, osl_getThreadTextEncoding() );
}
maOptionDescTxt.SetText( aText );
maOptionDescTxt.Show( TRUE );
sprintf( pBuf, "%g", fValue );
- maNumericEdit.SetText( String( pBuf, gsl_getSystemTextEncoding() ) );
+ maNumericEdit.SetText( String( pBuf, osl_getThreadTextEncoding() ) );
maNumericEdit.Show( TRUE );
}
@@ -1110,7 +1110,7 @@ BOOL SaneDlg::LoadState()
return FALSE;
const char* pEnv = getenv("HOME");
- String aFileName( pEnv ? pEnv : "", gsl_getSystemTextEncoding() );
+ String aFileName( pEnv ? pEnv : "", osl_getThreadTextEncoding() );
aFileName += String( RTL_CONSTASCII_USTRINGPARAM( "/.so_sane_state" ) );
Config aConfig( aFileName );
if( ! aConfig.HasGroup( "SANE" ) )
@@ -1118,7 +1118,7 @@ BOOL SaneDlg::LoadState()
aConfig.SetGroup( "SANE" );
ByteString aString = aConfig.ReadKey( "SO_LastSaneDevice" );
- for( i = 0; i < Sane::CountDevices() && ! aString.Equals( ByteString( Sane::GetName( i ), gsl_getSystemTextEncoding() ) ); i++ ) ;
+ for( i = 0; i < Sane::CountDevices() && ! aString.Equals( ByteString( Sane::GetName( i ), osl_getThreadTextEncoding() ) ); i++ ) ;
if( i == Sane::CountDevices() )
return FALSE;
@@ -1147,7 +1147,7 @@ BOOL SaneDlg::LoadState()
else if( aValue.CompareTo( "STRING=", 7 ) == COMPARE_EQUAL )
{
aValue.Erase( 0, 7 );
- mrSane.SetOptionValue( nOption, String( aValue, gsl_getSystemTextEncoding() ) );
+ mrSane.SetOptionValue( nOption, String( aValue, osl_getThreadTextEncoding() ) );
}
else if( aValue.CompareTo( "NUMERIC=", 8 ) == COMPARE_EQUAL )
{
@@ -1181,7 +1181,7 @@ void SaneDlg::SaveState()
return;
const char* pEnv = getenv( "HOME" );
- String aFileName( pEnv ? pEnv : "", gsl_getSystemTextEncoding() );
+ String aFileName( pEnv ? pEnv : "", osl_getThreadTextEncoding() );
aFileName.AppendAscii( "/.so_sane_state" );
Config aConfig( aFileName );
diff --git a/extensions/source/scanner/scanunx.cxx b/extensions/source/scanner/scanunx.cxx
index 383c9ee202d0..16a28a2327f9 100644
--- a/extensions/source/scanner/scanunx.cxx
+++ b/extensions/source/scanner/scanunx.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: scanunx.cxx,v $
*
- * $Revision: 1.1.1.1 $
+ * $Revision: 1.2 $
*
- * last change: $Author: hr $ $Date: 2000-09-18 16:16:52 $
+ * last change: $Author: pl $ $Date: 2001-08-07 13:19:04 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -63,6 +63,24 @@
#include <vos/thread.hxx>
#include <tools/list.hxx>
+#ifdef DEBUG
+#include <stdio.h>
+#endif
+
+BitmapTransporter::BitmapTransporter()
+{
+#ifdef DEBUG
+ fprintf( stderr, "BitmapTransporter\n" );
+#endif
+}
+
+BitmapTransporter::~BitmapTransporter()
+{
+#ifdef DEBUG
+ fprintf( stderr, "~BitmapTransporter\n" );
+#endif
+}
+
// -----------------------------------------------------------------------------
ANY SAL_CALL BitmapTransporter::queryInterface( const Type& rType ) throw( RuntimeException )
@@ -142,22 +160,41 @@ class ScannerThread : public vos::OThread
REF( com::sun::star::lang::XEventListener ) m_xListener;
ScannerManager* m_pManager; // just for the disposing call
+public:
virtual void run();
virtual void onTerminated() { delete this; }
public:
ScannerThread( SaneHolder* pHolder,
const REF( com::sun::star::lang::XEventListener )& listener,
- ScannerManager* pManager )
- : m_pHolder( pHolder ), m_xListener( listener ), m_pManager( pManager ) {}
- virtual ~ScannerThread() {}
+ ScannerManager* pManager );
+ virtual ~ScannerThread();
};
// -----------------------------------------------------------------------------
+ScannerThread::ScannerThread(
+ SaneHolder* pHolder,
+ const REF( com::sun::star::lang::XEventListener )& listener,
+ ScannerManager* pManager )
+ : m_pHolder( pHolder ), m_xListener( listener ), m_pManager( pManager )
+{
+#ifdef DEBUG
+ fprintf( stderr, "ScannerThread\n" );
+#endif
+}
+
+ScannerThread::~ScannerThread()
+{
+#ifdef DEBUG
+ fprintf( stderr, "~ScannerThread\n" );
+#endif
+}
+
void ScannerThread::run()
{
vos::OGuard aGuard( m_pHolder->m_aProtector );
- REF( XInterface ) aIf( static_cast< OWeakObject* >( new BitmapTransporter ) );
+ BitmapTransporter* pTransporter = new BitmapTransporter;
+ REF( XInterface ) aIf( static_cast< OWeakObject* >( pTransporter ) );
m_pHolder->m_xBitmap = REF( AWT::XBitmap )( aIf, UNO_QUERY );
@@ -168,7 +205,7 @@ void ScannerThread::run()
m_pHolder->m_aSane.SetOptionValue( nOption, (BOOL)FALSE );
m_pHolder->m_nError =
- m_pHolder->m_aSane.Start( *(BitmapTransporter*)&m_pHolder->m_xBitmap ) ?
+ m_pHolder->m_aSane.Start( *pTransporter ) ?
ScanError_ScanErrorNone : ScanError_ScanCanceled;
}
else
@@ -235,6 +272,10 @@ BOOL ScannerManager::configureScanner( ScannerContext& scanner_context ) throw(
{
vos::OGuard aGuard( aSaneProtector );
+#ifdef DEBUG
+ fprintf( stderr, "ScannerManager::configureScanner\n" );
+#endif
+
if( scanner_context.InternalData < 0 || scanner_context.InternalData >= allSanes.Count() )
throw ScannerException(
::rtl::OUString::createFromAscii( "Scanner does not exist" ),
@@ -252,6 +293,10 @@ void ScannerManager::startScan( const ScannerContext& scanner_context,
{
vos::OGuard aGuard( aSaneProtector );
+#ifdef DEBUG
+ fprintf( stderr, "ScannerManager::startScan\n" );
+#endif
+
if( scanner_context.InternalData < 0 || scanner_context.InternalData >= allSanes.Count() )
throw ScannerException(
::rtl::OUString::createFromAscii( "Scanner does not exist" ),