Compare commits

...

2 commits

Author SHA1 Message Date
47c2a74d74 combobox should close when the parent window is resized
All checks were successful
pyrite-dev/milsko/pipeline/head This commit looks good
2026-04-23 14:50:11 -07:00
4d6d459920 wayland: fix warnings 2026-04-23 14:47:51 -07:00
2 changed files with 14 additions and 10 deletions

View file

@ -47,14 +47,14 @@ static void undestroy(MwLL self) {
#define WIDGET_CHECK(handle) \
if(!handle->wayland.valid) { \
printf("[WARNING] Operation on invalid widget at line %d\n", __LINE__); \
/*printf("[WARNING] Operation on invalid widget at line %d\n", __LINE__);*/ \
return; \
}
/* Standard procedure before event callbacks in Wayland */
#define WAYLAND_EVENT_OP_START(self) \
if(is_destroyed(self)) { \
printf("[WARNING] Operation on invalid widget at line %d\n", __LINE__); \
/*printf("[WARNING] Operation on invalid widget at line %d\n", __LINE__);*/ \
return; \
}
@ -479,6 +479,7 @@ static void pointer_enter(void* data, struct wl_pointer* wl_pointer, MwU32 seria
(void)surface_x;
(void)surface_y;
(void)wl_pointer;
WAYLAND_EVENT_OP_START(self);
while(topmost_parent->wayland.parent) topmost_parent = topmost_parent->wayland.parent;
@ -1957,13 +1958,9 @@ static MwLL MwLLCreateImpl(MwLL parent, int x, int y, int width, int height) {
}
static void MwLLDestroyImpl(MwLL handle) {
int i;
struct timeval tv;
struct timespec t = {
.tv_sec = 0,
.tv_nsec = 0,
};
int select_ret;
int i;
struct timeval tv;
int select_ret;
event_loop(handle);
// wl_display_cancel_read(handle->wayland.display);

View file

@ -183,12 +183,19 @@ static void func_handler(MwWidget handle, const char* name, void* out, va_list v
}
}
static void parent_resize(MwWidget handle) {
MwComboBox cb = handle->internal;
if(cb->opened) {
click(handle);
}
}
MwClassRec MwComboBoxClassRec = {
wcreate, /* create */
destroy, /* destroy */
draw, /* draw */
click, /* click */
NULL, /* parent_resize */
parent_resize, /* parent_resize */
prop_change, /* prop_change */
NULL, /* mouse_move */
MwForceRender2, /* mouse_up */