Commit 00d5d77d authored by Lionel Ulmer's avatar Lionel Ulmer Committed by Alexandre Julliard

- added thread-safety protection to XListPixmapFormats

- moved pixmap / image format matching ERRs to WARNs
parent f1a25321
......@@ -49,7 +49,7 @@ int _common_depth_to_pixelformat(
int index = -2;
vi = TSXGetVisualInfo(display, VisualNoMask, &vt, &nvisuals);
pf = XListPixmapFormats(display, &npixmap);
pf = TSXListPixmapFormats(display, &npixmap);
for (i = 0; i < npixmap; i++) {
if (pf[i].depth == depth) {
......@@ -83,7 +83,7 @@ int _common_depth_to_pixelformat(
goto clean_up_and_exit;
}
}
ERR("No visual corresponding to pixmap format !\n");
WARN("No visual corresponding to pixmap format !\n");
}
}
......@@ -694,7 +694,7 @@ static HRESULT WINAPI Xlib_IDirectDraw2Impl_EnumDisplayModes(
maxHeight = MONITOR_GetHeight(&MONITOR_PrimaryMonitor);
vi = TSXGetVisualInfo(display, VisualNoMask, &vt, &nvisuals);
pf = XListPixmapFormats(display, &npixmap);
pf = TSXListPixmapFormats(display, &npixmap);
i = 0;
emu = 0;
......@@ -734,8 +734,8 @@ static HRESULT WINAPI Xlib_IDirectDraw2Impl_EnumDisplayModes(
has_mode[mode_index] = 1;
} else {
/* All the 'true color' depths (15, 16 and 24)
First, find the corresponding visual to extract the bit masks */
/* All the 'true color' depths (15, 16 and 24)
First, find the corresponding visual to extract the bit masks */
for (j = 0; j < nvisuals; j++) {
if (vi[j].depth == pf[i].depth) {
ddsfd.ddsCaps.dwCaps = 0;
......@@ -756,7 +756,7 @@ static HRESULT WINAPI Xlib_IDirectDraw2Impl_EnumDisplayModes(
}
}
if (j == nvisuals)
ERR("Did not find visual corresponding the the pixmap format !\n");
WARN("Did not find visual corresponding the the pixmap format !\n");
}
}
i++;
......@@ -787,7 +787,7 @@ static HRESULT WINAPI Xlib_IDirectDraw2Impl_EnumDisplayModes(
ddsfd.ddpfPixelFormat.u1.dwRBitMask = 0;
ddsfd.ddpfPixelFormat.u2.dwGBitMask = 0;
ddsfd.ddpfPixelFormat.u3.dwBBitMask = 0;
} else {
} else {
ddsfd.ddpfPixelFormat.dwFlags = DDPF_RGB;
ddsfd.ddpfPixelFormat.u.dwRGBBitCount = ModeEmulations[c].dest.bpp;
ddsfd.ddpfPixelFormat.u1.dwRBitMask = ModeEmulations[c].dest.rmask;
......@@ -799,7 +799,7 @@ static HRESULT WINAPI Xlib_IDirectDraw2Impl_EnumDisplayModes(
}
if (send_mode == 0)
ERR("No visual corresponding to pixmap format !\n");
WARN("No visual corresponding to pixmap format !\n");
}
}
}
......
......@@ -38,6 +38,7 @@ extern KeySym TSXLookupKeysym(XKeyEvent*, int);
extern KeySym * TSXGetKeyboardMapping(Display*, unsigned int, int, int*);
extern char * TSXResourceManagerString(Display*);
extern int TSXInitThreads(void);
extern XPixmapFormatValues * TSXListPixmapFormats(Display*, int*);
extern int * TSXListDepths(Display*, int, int*);
extern int TSXReconfigureWMWindow(Display*, Window, int, unsigned int, XWindowChanges*);
extern int TSXSetWMProtocols(Display*, Window, Atom*, int);
......
......@@ -91,6 +91,7 @@ XKeysymToKeycode
XKeysymToString
XListDepths
XListFonts
XListPixmapFormats
XLoadQueryFont
XLookupKeysym
XLookupString
......
......@@ -277,6 +277,17 @@ int TSXInitThreads(void)
return r;
}
XPixmapFormatValues * TSXListPixmapFormats(Display* a0, int* a1)
{
XPixmapFormatValues * r;
TRACE("Call XListPixmapFormats\n");
EnterCriticalSection( &X11DRV_CritSection );
r = XListPixmapFormats(a0, a1);
LeaveCriticalSection( &X11DRV_CritSection );
TRACE("Ret XListPixmapFormats\n");
return r;
}
int * TSXListDepths(Display* a0, int a1, int* a2)
{
int * r;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment