diff --git a/.gitignore b/.gitignore index 06c431e..b022af0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,8 @@ *.o *.so +*.dll +examples/* +examples/*.exe examples/*/* !examples/*/*.c !examples/*/*.spv diff --git a/include/Mw/StringDefs.h b/include/Mw/StringDefs.h index f928e09..3f668c2 100644 --- a/include/Mw/StringDefs.h +++ b/include/Mw/StringDefs.h @@ -45,22 +45,22 @@ #define MwNfont "Vfont" #define MwNboldFont "VboldFont" -#define MwNactivateHandler "Cactivate" /* NULL/int* (MwListBox)/void* (MwTreeView) */ -#define MwNresizeHandler "Cresize" /* NULL */ -#define MwNtickHandler "Ctick" /* NULL */ -#define MwNmenuHandler "Cmenu" /* MwMenu */ -#define MwNmouseDownHandler "CmouseDown" /* MwLLMouse* */ -#define MwNmouseUpHandler "CmouseUp" /* same as MwNmouseDownHandler */ -#define MwNmouseMoveHandler "CmouseMove" /* MwPoint* */ -#define MwNchangedHandler "Cchanged" /* NULL/int* (MwComboBox) */ -#define MwNkeyHandler "Ckey" /* int* (MwLLKeyEnum or character code) */ -#define MwNkeyReleaseHandler "CkeyRelease" /* same as MwNkeyHandler */ -#define MwNcloseHandler "Cclose" /* NULL */ -#define MwNfocusInHandler "CfocusIn" /* NULL */ -#define MwNfocusOutHandler "CfocusOut" /* NULL */ -#define MwNfileChosenHandler "CfileChosen" /* char* */ -#define MwNdirectoryChosenHandler MwNfileChosenHandler -#define MwNcolorChosenHandler "CcolorChosen" /* MwRGB* */ -#define MwNdrawHandler "Cdraw" /* NULL */ +#define MwNactivateHandler "Cactivate" /* NULL/int* (MwListBox)/void* (MwTreeView) */ +#define MwNresizeHandler "Cresize" /* NULL */ +#define MwNtickHandler "Ctick" /* NULL */ +#define MwNmenuHandler "Cmenu" /* MwMenu */ +#define MwNmouseDownHandler "CmouseDown" /* MwLLMouse* */ +#define MwNmouseUpHandler "CmouseUp" /* same as MwNmouseDownHandler */ +#define MwNmouseMoveHandler "CmouseMove" /* MwPoint* */ +#define MwNchangedHandler "Cchanged" /* NULL/int* (MwComboBox) */ +#define MwNkeyHandler "Ckey" /* int* (MwLLKeyEnum or character code) */ +#define MwNkeyReleaseHandler "CkeyRelease" /* same as MwNkeyHandler */ +#define MwNcloseHandler "Cclose" /* NULL */ +#define MwNfocusInHandler "CfocusIn" /* NULL */ +#define MwNfocusOutHandler "CfocusOut" /* NULL */ +#define MwNfileChosenHandler "CfileChosen" /* char* */ +#define MwNdirectoryChosenHandler "CdirectoryChosen" /* char* */ +#define MwNcolorChosenHandler "CcolorChosen" /* MwRGB* */ +#define MwNdrawHandler "Cdraw" /* NULL */ #endif diff --git a/milsko.xml b/milsko.xml index 13b0dda..244d6db 100644 --- a/milsko.xml +++ b/milsko.xml @@ -100,6 +100,7 @@ + diff --git a/src/backend/gdi.c b/src/backend/gdi.c index d366d6b..b40c26e 100644 --- a/src/backend/gdi.c +++ b/src/backend/gdi.c @@ -496,7 +496,6 @@ static void MwLLDrawPixmapImpl(MwLL handle, MwRect* rect, MwLLPixmap pixmap) { static void MwLLSetIconImpl(MwLL handle, MwLLPixmap pixmap) { ICONINFO ii; - HICON ico; memset(&ii, 0, sizeof(ii)); ii.fIcon = TRUE; @@ -724,6 +723,9 @@ static void MwLLGetCursorCoordImpl(MwLL handle, MwPoint* point) { static void MwLLGetScreenSizeImpl(MwLL handle, MwRect* rect) { RECT rc; + + (void)handle; + GetClientRect(GetDesktopWindow(), &rc); rect->x = rect->y = 0; diff --git a/src/dialog/filechooser.c b/src/dialog/filechooser.c index 88a7513..990c94f 100644 --- a/src/dialog/filechooser.c +++ b/src/dialog/filechooser.c @@ -98,7 +98,7 @@ static void files_activate(MwWidget handle, void* user, void* call) { char* p; p = MwDirectoryJoin(fc->path, fc->sorted_entries[MwGetInteger(fc->files, MwNvalue) - 1]->name); - MwDispatchUserHandler(handle->parent, MwNfileChosenHandler, p); + MwDispatchUserHandler(handle->parent, fc->dir_only ? MwNdirectoryChosenHandler : MwNfileChosenHandler, p); free(p); okay(fc->okay, NULL, NULL); @@ -130,7 +130,7 @@ static void okay_activate(MwWidget handle, void* user, void* call) { MwWidget msgbox = MwMessageBox(handle->parent, "File is not permitted here!", "Error", MwMB_ICONERROR | MwMB_BUTTONOK); MwAddUserHandler(MwMessageBoxGetChild(msgbox, MwMB_BUTTONOK), MwNactivateHandler, msgbox_okay, NULL); } else { - MwDispatchUserHandler(handle->parent, MwNfileChosenHandler, p); + MwDispatchUserHandler(handle->parent, fc->dir_only ? MwNdirectoryChosenHandler : MwNfileChosenHandler, p); okay(fc->okay, NULL, NULL); }