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);
}