https://bugs.documentfoundation.org/show_bug.cgi?id=92478

Julien Nabet <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[email protected]
                   |                            |, [email protected]

--- Comment #14 from Julien Nabet <[email protected]> ---
About the fact it works on Win32 and not on Win64, I noticed this:

     63 #if defined(_WIN32)
     64 #define TWAIN_LIBNAME           "TWAIN_32.DLL"
     65 #define TWAIN_FUNCNAME          "DSM_Entry"
     66 #endif
(see
http://opengrok.libreoffice.org/xref/core/extensions/source/scanner/scanwin.cxx#63)

so for WIN64, TWAIN_LIBNAME is not defined at all or at minimum empty.
TWAIN_LIBNAME is used in ImpTwain::ImplOpenSourceManager
    252         if( pMod->load( OUString( TWAIN_LIBNAME  ) ) )
    253         {
    254             nCurState = 2;
    255 
    256             pDSM = (DSMENTRYPROC)
pMod->getSymbol(OUString(TWAIN_FUNCNAME));
(see
http://opengrok.libreoffice.org/xref/core/extensions/source/scanner/scanwin.cxx#246)

but since we'll load nothing, pDSM will stay unchanged from the way it has been
created by constructor:
    152 ImpTwain::ImpTwain( ScannerManager& rMgr, const Link<unsigned
long,void>& rNotifyLink ) :
    153             mxMgr( uno::Reference< scanner::XScannerManager >(
static_cast< OWeakObject* >( &rMgr ), uno::UNO_QUERY) ),
    154             mrMgr( rMgr ),
    155             aNotifyLink( rNotifyLink ),
    156             pDSM( NULL ),

ie NULL.

Finally, we arrive in ImpTwain::ImplHandleMsg with this instruction:
nRet = PFUNC( &aAppIdent, &aSrcIdent, DG_CONTROL, DAT_EVENT, MSG_PROCESSEVENT,
&aEvt );

and since PFUNC correspond to (*pDSM) => Crash!
(see
http://opengrok.libreoffice.org/xref/core/extensions/source/scanner/scanwin.cxx#PFUNC)

So should we remove "if defined(_WIN32)" and consider the 2 defines are ok?

Or is there some TWAIN_64.DLL?

Michael: any idea who may have some experience with scanner/Twain?

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs

Reply via email to