logo       
Google Custom Search
    AddThis Social Bookmark Button
-->

CVS update: /gsl/vcl/win/source/app/: msg#00418

Subject: CVS update: /gsl/vcl/win/source/app/
User: vg      
Date: 2007/03/26 07:39:47

Modified:
   gsl/vcl/win/source/app/salinst.cxx

Log:
 INTEGRATION: CWS mingwport03 (1.34.82); FILE MERGED
 2007/03/19 19:18:01 vg 1.34.82.4: RESYNC: (1.35-1.36); FILE MERGED
 2006/11/08 14:49:51 vg 1.34.82.3: RESYNC: (1.34-1.35); FILE MERGED
 2006/10/24 13:25:22 vg 1.34.82.2: #i53572# MinGW port
 2006/09/13 15:46:01 vg 1.34.82.1: #i53572# MinGW port

File Changes:

Directory: /gsl/vcl/win/source/app/
===================================

File [changed]: salinst.cxx
Url: 
http://gsl.openoffice.org/source/browse/gsl/vcl/win/source/app/salinst.cxx?r1=1.36&r2=1.37
Delta lines:  +30 -2
--------------------
--- salinst.cxx 20 Dec 2006 18:33:04 -0000      1.36
+++ salinst.cxx 26 Mar 2007 14:39:44 -0000      1.37
@@ -41,6 +41,9 @@
 #ifdef WNT
 #include <process.h>
 #endif
+#ifdef __MINGW32__
+#include <excpt.h>
+#endif
 
 #ifndef _VOS_MUTEX_HXX
 #include <vos/mutex.hxx>
@@ -898,13 +901,25 @@
 {
        int bDef = TRUE;
        LRESULT nRet = 0;
+#ifdef __MINGW32__
+       jmp_buf jmpbuf;
+       __SEHandler han;
+       if (__builtin_setjmp(jmpbuf) == 0)
+       {
+               han.Set(jmpbuf, NULL, 
(__SEHandler::PF)EXCEPTION_EXECUTE_HANDLER);
+#else
        __try
        {
+#endif
                nRet = SalComWndProc( hWnd, nMsg, wParam, lParam, bDef );
        }
+#ifdef __MINGW32__
+       han.Reset();
+#else
     
__except(WinSalInstance::WorkaroundExceptionHandlingInUSER32Lib(GetExceptionCode(),
 GetExceptionInformation()))
        {
        }
+#endif
        if ( bDef )
        {
                if ( !ImplHandleGlobalMsg( hWnd, nMsg, wParam, lParam, nRet ) )
@@ -917,13 +932,25 @@
 {
        int bDef = TRUE;
        LRESULT nRet = 0;
+#ifdef __MINGW32__
+       jmp_buf jmpbuf;
+       __SEHandler han;
+       if (__builtin_setjmp(jmpbuf) == 0)
+       {
+               han.Set(jmpbuf, NULL, 
(__SEHandler::PF)EXCEPTION_EXECUTE_HANDLER);
+#else
        __try
        {
+#endif
                nRet = SalComWndProc( hWnd, nMsg, wParam, lParam, bDef );
        }
+#ifdef __MINGW32__
+       han.Reset();
+#else
     
__except(WinSalInstance::WorkaroundExceptionHandlingInUSER32Lib(GetExceptionCode(),
 GetExceptionInformation()))
        {
        }
+#endif
        if ( bDef )
        {
                if ( !ImplHandleGlobalMsg( hWnd, nMsg, wParam, lParam, nRet ) )
@@ -1065,7 +1092,7 @@
 {
        rReturnedBytes  = 1;
        rReturnedType   = AsciiCString;
-       return "";
+       return const_cast<char *>("");
 }
 
 // -----------------------------------------------------------------------
@@ -1126,6 +1153,7 @@
        return NULL;
 }
 
+#ifndef __MINGW32__
 // -----------------------------------------------------------------------
 int WinSalInstance::WorkaroundExceptionHandlingInUSER32Lib(int, 
LPEXCEPTION_POINTERS pExceptionInfo)
 {
@@ -1142,4 +1170,4 @@
 
     return UnhandledExceptionFilter( pExceptionInfo );
 }
-
+#endif


<Prev in Thread] Current Thread [Next in Thread>