Piotr Caban : msvcrt: Handle try blocks inside current catch block in nested frame handler.
Alexandre Julliard
julliard at wine.codeweavers.com
Wed Mar 16 11:36:40 CDT 2016
Module: wine
Branch: master
Commit: 2d4b48a58d8a4a79eaf922f6b9c0375a38bce9b9
URL: http://source.winehq.org/git/wine.git/?a=commit;h=2d4b48a58d8a4a79eaf922f6b9c0375a38bce9b9
Author: Piotr Caban <piotr at codeweavers.com>
Date: Tue Mar 15 13:41:08 2016 +0100
msvcrt: Handle try blocks inside current catch block in nested frame handler.
Signed-off-by: Piotr Caban <piotr at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/msvcrt/except_i386.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/dlls/msvcrt/except_i386.c b/dlls/msvcrt/except_i386.c
index 116a429..56165c0 100644
--- a/dlls/msvcrt/except_i386.c
+++ b/dlls/msvcrt/except_i386.c
@@ -461,6 +461,9 @@ static inline void call_catch_block( PEXCEPTION_RECORD rec, cxx_exception_frame
{
const tryblock_info *tryblock = &descr->tryblock[i];
+ /* only handle try blocks inside current catch block */
+ if (catch_frame && nested_trylevel > tryblock->start_level) continue;
+
if (trylevel < tryblock->start_level) continue;
if (trylevel > tryblock->end_level) continue;
More information about the wine-cvs
mailing list