diff --git a/src/font/logfont.c b/src/font/logfont.c index c78decc0..a59a4950 100644 --- a/src/font/logfont.c +++ b/src/font/logfont.c @@ -288,12 +288,12 @@ PLOGFONT GUIAPI CreateLogFontIndirect (LOGFONT *reflf) // create new devfont instance if need for (i = 0; i < MAXNR_DEVFONTS; i++) { DEVFONT* df = reflf->devfonts[i]; - if (df->font_ops->new_instance) - newlf->devfonts[i] = df->font_ops->new_instance(newlf, - df, i == 0); if (df == NULL) { goto error; } + if (df->font_ops->new_instance) + newlf->devfonts[i] = df->font_ops->new_instance(newlf, + df, i == 0); } adjust_newlf_info(newlf); diff --git a/src/kernel/desktop-ths.c b/src/kernel/desktop-ths.c index 4427e0b3..2d1634ff 100644 --- a/src/kernel/desktop-ths.c +++ b/src/kernel/desktop-ths.c @@ -168,7 +168,8 @@ void* DesktopMain (void* data) { PSYNCMSG pSyncMsg = (PSYNCMSG)(Msg.pAdd); pSyncMsg->retval = lRet; - sem_post(pSyncMsg->sem_handle); + if(pSyncMsg->sem_handle) + sem_post(pSyncMsg->sem_handle); } #ifdef _MGHAVE_TRACE_MSG