window.c
changeset 1038 cf60aaf4c4ba
parent 1033 d7eac041c97f
child 1093 e8d26c7dc42f
--- a/window.c	Sun Jan 16 12:29:52 2005 +0000
+++ b/window.c	Sun Jan 16 12:30:52 2005 +0000
@@ -48,31 +48,27 @@
 			ScrollbarClickHandler(w, wi, e.click.pt.x, e.click.pt.y);
 		}
 
-		w->wndproc(w, &e);
-
 		if (w->desc_flags & WDF_STD_BTN) {
-			if (e.click.widget == 0) {
+			if (e.click.widget == 0) { /* 'X' */
 				DeleteWindow(w);
 				return;
-			} else {
-				if (e.click.widget == 1) {
-					StartWindowDrag(w);
-				}
-			}
+			} 
+			
+			if (e.click.widget == 1) /* 'Title bar' */
+				StartWindowDrag(w);
 		}
 
-		if (w->desc_flags & WDF_RESIZABLE && wi->type == WWT_RESIZEBOX) {
+		if (w->desc_flags & WDF_RESIZABLE && wi->type == WWT_RESIZEBOX)
 			StartWindowSizing(w);
-		}
 
 		if (w->desc_flags & WDF_STICKY_BUTTON && wi->type == WWT_STICKYBOX) {
-			w->click_state ^= (1 << e.click.widget);
+			TOGGLEBIT(w->click_state, e.click.widget);
 			w->flags4 ^= WF_STICKY;
 			InvalidateWidget(w, e.click.widget);
 		}
-	} else {
-		w->wndproc(w, &e);
 	}
+
+	w->wndproc(w, &e);
 }
 
 void DispatchRightClickEvent(Window *w, int x, int y) {
@@ -771,14 +767,14 @@
 	if (_left_button_down) {
 		e.event = WE_POPUPMENU_OVER;
 		e.popupmenu.pt = _cursor.pos;
-		w->wndproc(w, &e);
 	} else {
 		_popup_menu_active = false;
 		e.event = WE_POPUPMENU_SELECT;
 		e.popupmenu.pt = _cursor.pos;
-		w->wndproc(w, &e);
 	}
 
+	w->wndproc(w, &e);
+
 	return false;
 }