summaryrefslogtreecommitdiffstats
path: root/loader
diff options
context:
space:
mode:
authorUoti Urpala <uau@glyph.nonexistent.invalid>2010-05-30 15:58:55 +0300
committerUoti Urpala <uau@glyph.nonexistent.invalid>2010-05-30 15:58:55 +0300
commit9b68a49d0132bbe08d3a9bf7a19276801ac415aa (patch)
tree5ad5e5b525b26c55e2038c98ab625bc5d910a873 /loader
parent37a3e7155888bdb90b600cde64641c69ef9c710b (diff)
parenteb9fffc32ff70553d95f9d8d91b426e54108d502 (diff)
downloadmpv-9b68a49d0132bbe08d3a9bf7a19276801ac415aa.tar.bz2
mpv-9b68a49d0132bbe08d3a9bf7a19276801ac415aa.tar.xz
Merge svn changes up to r31197
Diffstat (limited to 'loader')
-rw-r--r--loader/module.c33
-rw-r--r--loader/registry.c29
-rw-r--r--loader/win32.c2
3 files changed, 27 insertions, 37 deletions
diff --git a/loader/module.c b/loader/module.c
index b9dcfa5869..4a292ce0ac 100644
--- a/loader/module.c
+++ b/loader/module.c
@@ -347,9 +347,6 @@ static WIN_BOOL MODULE_FreeLibrary( WINE_MODREF *wm )
{
TRACE("(%s) - START\n", wm->modname );
- /* Recursively decrement reference counts */
- //MODULE_DecRefCount( wm );
-
/* Call process detach notifications */
MODULE_DllProcessDetach( wm, FALSE, NULL );
@@ -610,36 +607,6 @@ WIN_BOOL WINAPI FreeLibrary(HINSTANCE hLibModule)
}
/***********************************************************************
- * MODULE_DecRefCount
- *
- * NOTE: Assumes that the process critical section is held!
- */
-static void MODULE_DecRefCount( WINE_MODREF *wm )
-{
- int i;
-
- if ( wm->flags & WINE_MODREF_MARKER )
- return;
-
- if ( wm->refCount <= 0 )
- return;
-
- --wm->refCount;
- TRACE("(%s) refCount: %d\n", wm->modname, wm->refCount );
-
- if ( wm->refCount == 0 )
- {
- wm->flags |= WINE_MODREF_MARKER;
-
- for ( i = 0; i < wm->nDeps; i++ )
- if ( wm->deps[i] )
- MODULE_DecRefCount( wm->deps[i] );
-
- wm->flags &= ~WINE_MODREF_MARKER;
- }
-}
-
-/***********************************************************************
* GetProcAddress (KERNEL32.257)
*/
FARPROC WINAPI GetProcAddress( HMODULE hModule, LPCSTR function )
diff --git a/loader/registry.c b/loader/registry.c
index cab63ceb72..4a41911cdf 100644
--- a/loader/registry.c
+++ b/loader/registry.c
@@ -400,9 +400,32 @@ long __stdcall RegQueryValueExA(long key, const char* value, int* reserved, int*
if (!c)
return 1;
t=find_value_by_name(c);
+ if (t==0) {
+ // Hacks for CineForm.
+ if (strcmp(c, "HKCU\\SOFTWARE\\CineForm\\DecoderProperties\\Resolution") == 0) {
+ if (data)
+ *data = 1000;
+ if (type)
+ *type = REG_DWORD;
+ if (count)
+ *count = sizeof(DWORD);
+ free(c);
+ return ERROR_SUCCESS;
+ }
+ if (strcmp(c, "HKCU\\SOFTWARE\\CineForm\\DecoderProperties\\PixelFormats") == 0) {
+ if (data)
+ *data = 0xffff;
+ if (type)
+ *type = REG_DWORD;
+ if (count)
+ *count = sizeof(DWORD);
+ free(c);
+ return ERROR_SUCCESS;
+ }
+ free(c);
+ return ERROR_FILE_NOT_FOUND;
+ }
free(c);
- if (t==0)
- return 2;
if (type)
*type=t->type;
if (data)
@@ -419,7 +442,7 @@ long __stdcall RegQueryValueExA(long key, const char* value, int* reserved, int*
{
*count=t->len;
}
- return 0;
+ return ERROR_SUCCESS;
}
long __stdcall RegCreateKeyExA(long key, const char* name, long reserved,
void* classs, long options, long security,
diff --git a/loader/win32.c b/loader/win32.c
index 0b1999a043..ab07574803 100644
--- a/loader/win32.c
+++ b/loader/win32.c
@@ -3764,7 +3764,7 @@ static HANDLE WINAPI expCreateFileA(LPCSTR cs1,DWORD i1,DWORD i2,
free(tmp);
return result;
}
- if (strstr(cs1, "vp3") || strstr(cs1, ".fpf"))
+ if (strstr(cs1, "vp3") || strstr(cs1, ".fpf") || strstr(cs1, ".col"))
{
int r;
int flg = 0;