forked from pyrite-dev/milsko
fix for -O3
This commit is contained in:
parent
ece1527689
commit
4423c318e8
6 changed files with 6 additions and 19 deletions
|
|
@ -340,8 +340,8 @@ static void MwFreeWidget(MwWidget handle) {
|
|||
}
|
||||
|
||||
handle->destroyed = 0;
|
||||
MwDispatch(handle, destroy);
|
||||
if(handle->destroy_inject != NULL) handle->destroy_inject(handle);
|
||||
MwDispatch(handle, destroy);
|
||||
|
||||
for(i = 0; i < arrlen(handle->children); i++) {
|
||||
MwFreeWidget(handle->children[i]);
|
||||
|
|
@ -392,6 +392,8 @@ static void destroy_children(MwWidget handle) {
|
|||
}
|
||||
|
||||
void MwDestroyWidget(MwWidget handle) {
|
||||
if(handle->destroyed) return;
|
||||
|
||||
if(handle->parent != NULL) {
|
||||
int i;
|
||||
for(i = 0; i < arrlen(handle->parent->destroy_queue); i++) {
|
||||
|
|
@ -457,7 +459,6 @@ static void MwAfterStep(MwWidget handle) {
|
|||
int MwStep(MwWidget handle) {
|
||||
int i;
|
||||
MwWidget* widgets = NULL;
|
||||
if(setjmp(handle->before_step)) return 0;
|
||||
for(i = 0; i < arrlen(handle->children); i++) {
|
||||
arrput(widgets, handle->children[i]);
|
||||
}
|
||||
|
|
@ -859,10 +860,6 @@ void MwDispatchError(int code, const char* message) {
|
|||
}
|
||||
}
|
||||
|
||||
void MwGetBeforeStep(MwWidget handle, jmp_buf* jmpbuf) {
|
||||
memcpy(jmpbuf, &handle->before_step, sizeof(*jmpbuf));
|
||||
}
|
||||
|
||||
void MwForceRender(MwWidget handle) {
|
||||
MwLLForceRender(handle->lowlevel);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -102,7 +102,6 @@ static void draw(MwWidget handle) {
|
|||
|
||||
static void click(MwWidget handle) {
|
||||
MwWidget w = handle;
|
||||
jmp_buf jmp;
|
||||
MwMenu menu = handle->internal;
|
||||
|
||||
if(arrlen(menu->sub) > 0) {
|
||||
|
|
@ -152,7 +151,6 @@ static void click(MwWidget handle) {
|
|||
MwForceRender(handle);
|
||||
} else if(strcmp(menu->sub[i]->name, "----") != 0 && arrlen(menu->sub[i]->sub) == 0) {
|
||||
while(w->parent->widget_class == MwSubMenuClass) w = w->parent;
|
||||
MwGetBeforeStep(w, &jmp);
|
||||
|
||||
MwDestroyWidget(w);
|
||||
((MwMenu)w->internal)->wsub = NULL;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue