mirror of
https://gitea.nishi.boats/pyrite-dev/milsko
synced 2026-01-03 16:10:50 +00:00
allow NULL class
git-svn-id: http://svn2.nishi.boats/svn/milsko/trunk@282 b9cfdab3-6d41-4d17-bbe4-086880011989
This commit is contained in:
32
src/core.c
32
src/core.c
@@ -86,10 +86,12 @@ MwWidget MwCreateWidget(MwClass widget_class, const char* name, MwWidget parent,
|
|||||||
|
|
||||||
h->parent = parent;
|
h->parent = parent;
|
||||||
h->children = NULL;
|
h->children = NULL;
|
||||||
if((h->lowlevel = MwLLCreate(parent == NULL ? NULL : parent->lowlevel, x, y, width, height)) == NULL) {
|
if(widget_class != NULL) {
|
||||||
free(h->name);
|
if((h->lowlevel = MwLLCreate(parent == NULL ? NULL : parent->lowlevel, x, y, width, height)) == NULL) {
|
||||||
free(h);
|
free(h->name);
|
||||||
return NULL;
|
free(h);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
h->widget_class = widget_class;
|
h->widget_class = widget_class;
|
||||||
h->pressed = 0;
|
h->pressed = 0;
|
||||||
@@ -97,15 +99,17 @@ MwWidget MwCreateWidget(MwClass widget_class, const char* name, MwWidget parent,
|
|||||||
h->destroy_queue = NULL;
|
h->destroy_queue = NULL;
|
||||||
h->prop_event = 1;
|
h->prop_event = 1;
|
||||||
|
|
||||||
h->lowlevel->user = h;
|
if(h->lowlevel != NULL) {
|
||||||
h->lowlevel->handler->draw = lldrawhandler;
|
h->lowlevel->user = h;
|
||||||
h->lowlevel->handler->up = lluphandler;
|
h->lowlevel->handler->draw = lldrawhandler;
|
||||||
h->lowlevel->handler->down = lldownhandler;
|
h->lowlevel->handler->up = lluphandler;
|
||||||
h->lowlevel->handler->resize = llresizehandler;
|
h->lowlevel->handler->down = lldownhandler;
|
||||||
h->lowlevel->handler->close = llclosehandler;
|
h->lowlevel->handler->resize = llresizehandler;
|
||||||
h->lowlevel->handler->move = llmovehandler;
|
h->lowlevel->handler->close = llclosehandler;
|
||||||
h->lowlevel->handler->key = llkeyhandler;
|
h->lowlevel->handler->move = llmovehandler;
|
||||||
h->lowlevel->handler->key_released = llkeyrelhandler;
|
h->lowlevel->handler->key = llkeyhandler;
|
||||||
|
h->lowlevel->handler->key_released = llkeyrelhandler;
|
||||||
|
}
|
||||||
|
|
||||||
if(parent != NULL) arrput(parent->children, h);
|
if(parent != NULL) arrput(parent->children, h);
|
||||||
|
|
||||||
@@ -188,7 +192,7 @@ void MwStep(MwWidget handle) {
|
|||||||
for(i = 0; i < arrlen(handle->children); i++) MwStep(handle->children[i]);
|
for(i = 0; i < arrlen(handle->children); i++) MwStep(handle->children[i]);
|
||||||
|
|
||||||
handle->prop_event = 0;
|
handle->prop_event = 0;
|
||||||
MwLLNextEvent(handle->lowlevel);
|
if(handle->lowlevel != NULL) MwLLNextEvent(handle->lowlevel);
|
||||||
handle->prop_event = 1;
|
handle->prop_event = 1;
|
||||||
|
|
||||||
for(i = 0; i < arrlen(handle->destroy_queue); i++) {
|
for(i = 0; i < arrlen(handle->destroy_queue); i++) {
|
||||||
|
|||||||
Reference in New Issue
Block a user