Module: wine
Branch: master
Commit: 1186c36c89c74066d127ca52512c1196b1802ec9
URL: http://source.winehq.org/git/wine.git/?a=commit;h=1186c36c89c74066d127ca525…
Author: Ken Thomases <ken(a)codeweavers.com>
Date: Fri Oct 4 00:17:24 2013 -0500
winemac: Make clicking on the app's dock icon unminimize a window if there are only minimized windows.
Cocoa would automatically do this for a normal app. However, the Mac driver
makes all of its windows inherit from NSPanel and Cocoa ignores panels for
this feature.
---
dlls/winemac.drv/cocoa_app.m | 36 +++++++++++++++++++++++++-----------
1 files changed, 25 insertions(+), 11 deletions(-)
diff --git a/dlls/winemac.drv/cocoa_app.m b/dlls/winemac.drv/cocoa_app.m
index 632a1bb..9d33e7f 100644
--- a/dlls/winemac.drv/cocoa_app.m
+++ b/dlls/winemac.drv/cocoa_app.m
@@ -1915,6 +1915,21 @@ int macdrv_err_on;
}
}
+ - (void) unminimizeWindowIfNoneVisible
+ {
+ if (![self frontWineWindow])
+ {
+ for (WineWindow* window in [NSApp windows])
+ {
+ if ([window isKindOfClass:[WineWindow class]] && [window isMiniaturized])
+ {
+ [window deminiaturize:self];
+ break;
+ }
+ }
+ }
+ }
+
/*
* ---------- NSApplicationDelegate methods ----------
@@ -1935,17 +1950,8 @@ int macdrv_err_on;
[self updateFullscreenWindows];
[self adjustWindowLevels:YES];
- if (beenActive && ![self frontWineWindow])
- {
- for (WineWindow* window in [NSApp windows])
- {
- if ([window isKindOfClass:[WineWindow class]] && [window isMiniaturized])
- {
- [window deminiaturize:self];
- break;
- }
- }
- }
+ if (beenActive)
+ [self unminimizeWindowIfNoneVisible];
beenActive = TRUE;
// If a Wine process terminates abruptly while it has the display captured
@@ -1997,6 +2003,14 @@ int macdrv_err_on;
[self releaseMouseCapture];
}
+ - (BOOL) applicationShouldHandleReopen:(NSApplication*)theApplication hasVisibleWindows:(BOOL)flag
+ {
+ // Note that "flag" is often wrong. WineWindows are NSPanels and NSPanels
+ // don't count as "visible windows" for this purpose.
+ [self unminimizeWindowIfNoneVisible];
+ return YES;
+ }
+
- (NSApplicationTerminateReply) applicationShouldTerminate:(NSApplication *)sender
{
NSApplicationTerminateReply ret = NSTerminateNow;
Module: wine
Branch: master
Commit: 63fe00eae7b3388d10a98ed0e99718fcbcb2905c
URL: http://source.winehq.org/git/wine.git/?a=commit;h=63fe00eae7b3388d10a98ed0e…
Author: Ken Thomases <ken(a)codeweavers.com>
Date: Fri Oct 4 00:17:17 2013 -0500
winemac: Allow zero-sized windows to be selected from the Mac Window menu.
They show up in the taskbar on Windows 7. Selecting them from there is
meaningful and useful, as is selecting them from the Window menu.
In addition to just switching among windows from that menu, this is also
important to recovering a minimized window if the user has configured their
system preferences to minimize windows into the process's dock icon (rather
than as separate dock icons).
---
dlls/winemac.drv/window.c | 5 ++---
1 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/dlls/winemac.drv/window.c b/dlls/winemac.drv/window.c
index 98d8695..2c71a1e 100644
--- a/dlls/winemac.drv/window.c
+++ b/dlls/winemac.drv/window.c
@@ -89,13 +89,11 @@ static void get_cocoa_window_features(struct macdrv_win_data *data,
static inline BOOL can_activate_window(HWND hwnd)
{
LONG style = GetWindowLongW(hwnd, GWL_STYLE);
- RECT rect;
if (!(style & WS_VISIBLE)) return FALSE;
if ((style & (WS_POPUP|WS_CHILD)) == WS_CHILD) return FALSE;
if (GetWindowLongW(hwnd, GWL_EXSTYLE) & WS_EX_NOACTIVATE) return FALSE;
if (hwnd == GetDesktopWindow()) return FALSE;
- if (GetWindowRect(hwnd, &rect) && IsRectEmpty(&rect)) return FALSE;
return !(style & WS_DISABLED);
}
@@ -112,9 +110,10 @@ static void get_cocoa_window_state(struct macdrv_win_data *data,
state->no_activate = !can_activate_window(data->hwnd);
state->floating = (ex_style & WS_EX_TOPMOST) != 0;
state->excluded_by_expose = state->excluded_by_cycle =
- IsRectEmpty(&data->window_rect) ||
(!(ex_style & WS_EX_APPWINDOW) &&
(GetWindow(data->hwnd, GW_OWNER) || (ex_style & (WS_EX_TOOLWINDOW | WS_EX_NOACTIVATE))));
+ if (IsRectEmpty(&data->window_rect))
+ state->excluded_by_expose = TRUE;
state->minimized = (style & WS_MINIMIZE) != 0;
}
Module: wine
Branch: master
Commit: 4732b2f4ea6f550d6c942161972573ca5ace7629
URL: http://source.winehq.org/git/wine.git/?a=commit;h=4732b2f4ea6f550d6c9421619…
Author: Alexandre Julliard <julliard(a)winehq.org>
Date: Thu Oct 3 21:35:33 2013 +0200
configure: Use the correct strip program when installing.
---
Make.vars.in | 1 +
configure | 95 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
configure.ac | 4 ++
3 files changed, 100 insertions(+), 0 deletions(-)
diff --git a/Make.vars.in b/Make.vars.in
index ea3869d..d10e70e 100644
--- a/Make.vars.in
+++ b/Make.vars.in
@@ -39,6 +39,7 @@ DLLTOOL = @DLLTOOL@
AR = @AR@
ARFLAGS = @ARFLAGS@
RANLIB = @RANLIB@
+STRIP = @STRIP@
LN_S = @LN_S@
TOOLSDIR = @TOOLSDIR@
LDFLAGS = @LDFLAGS@
diff --git a/configure b/configure
index e0e3320..4154b43 100755
--- a/configure
+++ b/configure
@@ -737,6 +737,7 @@ GREP
LN_S
RANLIB
ARFLAGS
+STRIP
ac_ct_AR
AR
BISON
@@ -4544,6 +4545,98 @@ esac
fi
fi
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_STRIP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$STRIP"; then
+ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+ ac_ct_STRIP=$STRIP
+ # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -n "$ac_ct_STRIP"; then
+ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+ ac_cv_prog_ac_ct_STRIP="strip"
+ $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+ done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
+else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+ if test "x$ac_ct_STRIP" = x; then
+ STRIP="strip"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+ STRIP=$ac_ct_STRIP
+ fi
+else
+ STRIP="$ac_cv_prog_STRIP"
+fi
+
ARFLAGS=rc
if test -n "$ac_tool_prefix"; then
@@ -4820,6 +4913,8 @@ $as_echo "no" >&6; }
fi
+
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM="env STRIPPROG=\"\$(STRIP)\" \$(top_srcdir)/tools/install-sh"
# Find a good install program. We prefer a C program (faster),
# so one script is as good as another. But avoid the broken or
# incompatible versions:
diff --git a/configure.ac b/configure.ac
index 00dc50d..708197a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -257,11 +257,15 @@ then
fi
AC_CHECK_TOOLS(AR,[ar gar],ar)
+AC_CHECK_TOOL(STRIP,strip,strip)
AC_SUBST(ARFLAGS,rc)
AC_PROG_RANLIB
AC_PROG_LN_S
AC_PROG_EGREP
AC_PATH_PROG(LDCONFIG, ldconfig, true, [/sbin /usr/sbin $PATH])
+
+dnl Use the correct strip to install programs
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM="env STRIPPROG=\"\$(STRIP)\" \$(top_srcdir)/tools/install-sh"
AC_PROG_INSTALL
dnl Prepend src dir to install path dir if it's a relative path
case "$INSTALL" in