fix non opengl xlib init

This commit is contained in:
Matthew 2025-11-30 16:36:33 +11:00
parent a221c1d5ce
commit 10b9571c01

View File

@ -670,10 +670,13 @@ CreateWindow(PlatformWindow* window, string name, u32 width, u32 height, XVisual
if(visual_info) if(visual_info)
{ {
attrs.colormap = XCreateColormap(window.display, window.root_window, visual_info.visual, AllocNone); XSetWindowAttributes attrs = {
value_mask |= CWColormap; background_pixmap: None,
} background_pixel: XBlackPixel(window.display, window.screen_id),
colormap: XCreateColormap(window.display, window.root_window, visual_info.visual, AllocNone),
};
value_mask |= CWColormap;
auto copy = CopyFromParent; auto copy = CopyFromParent;
window.window = XCreateWindow( window.window = XCreateWindow(
@ -691,17 +694,29 @@ CreateWindow(PlatformWindow* window, string name, u32 width, u32 height, XVisual
&attrs &attrs
); );
XFree(visual_info);
}
else
{
window.window = XCreateSimpleWindow(
window.display,
window.root_window,
0,
0,
width,
height,
0,
XBlackPixel(window.display, window.screen_id),
XBlackPixel(window.display, window.screen_id)
);
}
if(window.window == None) if(window.window == None)
{ {
WINDOW_ERR_MSG = "Failed to create X11 window"; WINDOW_ERR_MSG = "Failed to create X11 window";
return false; return false;
} }
if(visual_info)
{
XFree(visual_info);
}
i64 event_mask = KeyPressMask | i64 event_mask = KeyPressMask |
KeyReleaseMask | KeyReleaseMask |
ExposureMask | ExposureMask |