Pierre d'Herbemont wrote:
@@ -1031,18 +1032,6 @@ BOOL X11DRV_CreateWindow( HWND hwnd, CRE /* get class or window DC if needed */ alloc_window_dce( data );
- /* send WM_NCCREATE */
- TRACE( "hwnd %p cs %d,%d %dx%d\n", hwnd, cs->x, cs->y, cs->cx, cs->cy );
- if (unicode)
ret = SendMessageW( hwnd, WM_NCCREATE, 0, (LPARAM)cs );
- else
ret = SendMessageA( hwnd, WM_NCCREATE, 0, (LPARAM)cs );
- if (!ret)
- {
WARN("aborted by WM_xxCREATE!\n");
return FALSE;
- }
I'm not an expert in this area by any means, but couldn't there now be a problem where calling GetDCEx on the window during WM_NCCREATE processing would fail? Maybe there should be a PreCreateWindow function?
On 22 janv. 07, at 11:50, Robert Shearman wrote:
Pierre d'Herbemont wrote:
@@ -1031,18 +1032,6 @@ BOOL X11DRV_CreateWindow( HWND hwnd, CRE /* get class or window DC if needed */ alloc_window_dce( data );
- /* send WM_NCCREATE */
- TRACE( "hwnd %p cs %d,%d %dx%d\n", hwnd, cs->x, cs->y, cs-
cx, cs->cy );
- if (unicode)
ret = SendMessageW( hwnd, WM_NCCREATE, 0, (LPARAM)cs );
- else
ret = SendMessageA( hwnd, WM_NCCREATE, 0, (LPARAM)cs );
- if (!ret)
- {
WARN("aborted by WM_xxCREATE!\n");
return FALSE;
- }
I'm not an expert in this area by any means, but couldn't there now be a problem where calling GetDCEx on the window during WM_NCCREATE processing would fail? Maybe there should be a PreCreateWindow function?
Thanks for the report. I didn't think about it. About the PreCreateWindow function, I am sure that's not what Alexandre would like.
Anyway, the dce code from winex11 has to be moved to user, so I think I should first try to move the dce part. That would fix our troubles here.
Pierre.