diff options
-rw-r--r-- | NEWS | 4 | ||||
-rw-r--r-- | ext/com_dotnet/com_com.c | 6 | ||||
-rw-r--r-- | ext/com_dotnet/com_extension.c | 4 |
3 files changed, 7 insertions, 7 deletions
@@ -14,6 +14,10 @@ PHP NEWS . Fixed bug #79947 (Memory leak on invalid offset type in compound assignment). (Nikita) +- COM: + . Fixed bug #48585 (com_load_typelib holds reference, fails on second call). + (cmb) + - Gettext: . Fixed bug #70574 (Tests fail due to relying on Linux fallback behavior for gettext()). (Florian Engelhardt) diff --git a/ext/com_dotnet/com_com.c b/ext/com_dotnet/com_com.c index ab8c85e23b..0c174f992b 100644 --- a/ext/com_dotnet/com_com.c +++ b/ext/com_dotnet/com_com.c @@ -248,7 +248,7 @@ PHP_FUNCTION(com_create_instance) TL = php_com_load_typelib_via_cache(typelib_name, obj->code_page, &cached); if (TL) { - if (COMG(autoreg_on) && !cached) { + if (COMG(autoreg_on)) { php_com_import_typelib(TL, mode, obj->code_page); } @@ -840,9 +840,7 @@ PHP_FUNCTION(com_load_typelib) php_com_initialize(); pTL = php_com_load_typelib_via_cache(name, codepage, &cached); if (pTL) { - if (cached) { - RETVAL_TRUE; - } else if (php_com_import_typelib(pTL, cs ? CONST_CS : 0, codepage) == SUCCESS) { + if (php_com_import_typelib(pTL, cs ? CONST_CS : 0, codepage) == SUCCESS) { RETVAL_TRUE; } diff --git a/ext/com_dotnet/com_extension.c b/ext/com_dotnet/com_extension.c index c77d089188..5ae14815dd 100644 --- a/ext/com_dotnet/com_extension.c +++ b/ext/com_dotnet/com_extension.c @@ -251,9 +251,7 @@ static PHP_INI_MH(OnTypeLibFileUpdate) } if ((pTL = php_com_load_typelib_via_cache(typelib_name, COMG(code_page), &cached)) != NULL) { - if (!cached) { - php_com_import_typelib(pTL, mode, COMG(code_page)); - } + php_com_import_typelib(pTL, mode, COMG(code_page)); ITypeLib_Release(pTL); } } |