Hello community,

here is the log from the commit of package PlayOnLinux for openSUSE:Factory 
checked in at 2017-06-15 11:25:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/PlayOnLinux (Old)
 and      /work/SRC/openSUSE:Factory/.PlayOnLinux.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "PlayOnLinux"

Thu Jun 15 11:25:34 2017 rev:2 rq:503721 version:4.2.11

Changes:
--------
--- /work/SRC/openSUSE:Factory/PlayOnLinux/PlayOnLinux.changes  2017-02-07 
12:02:15.227923392 +0100
+++ /work/SRC/openSUSE:Factory/.PlayOnLinux.new/PlayOnLinux.changes     
2017-06-15 11:26:02.408980821 +0200
@@ -1,0 +2,13 @@
+Wed Jun 14 16:43:07 UTC 2017 - [email protected]
+
+- add patch PlayOnLinux-BrokenMiscButtons.patch
+  fix issue 5522
+
+-------------------------------------------------------------------
+Tue Jun 13 18:21:08 UTC 2017 - [email protected]
+
+- update to 4.2.11
+  * Fix POL_SetupWindow_download clobbering $FILENAME
+  * Fix small typo in first use "send report" message
+
+-------------------------------------------------------------------

Old:
----
  PlayOnLinux_4.2.10.tar.gz

New:
----
  PlayOnLinux-BrokenMiscButtons.patch
  PlayOnLinux_4.2.11.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ PlayOnLinux.spec ++++++
--- /var/tmp/diff_new_pack.59kf5O/_old  2017-06-15 11:26:03.280857744 +0200
+++ /var/tmp/diff_new_pack.59kf5O/_new  2017-06-15 11:26:03.284857179 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package PlayOnLinux
 #
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -15,9 +15,10 @@
 # Please submit bugfixes or comments via http://bugs.opensuse.org/
 #
 
+
 Name:           PlayOnLinux
 %define _name   playonlinux
-Version:        4.2.10
+Version:        4.2.11
 Release:        0
 Summary:        Play your Windows games on GNU/Linux
 License:        GPL-3.0
@@ -27,12 +28,15 @@
 Source1:        playonlinux.sh
 # PATCH-FIX-OPENSUSE PlayOnLinux-desktop.patch
 Patch0:         %{name}-desktop.patch
+Patch1:         %{name}-BrokenMiscButtons.patch
 BuildRequires:  fdupes
-BuildRequires:  update-desktop-files
 BuildRequires:  python-devel
+BuildRequires:  update-desktop-files
 Requires:       ImageMagick
 Requires:       dbus-1-python
 Requires:       gettext
+Requires:       icoutils
+Requires:       p7zip
 Requires:       python
 Requires:       python-gtk >= 2.8
 Requires:       python-wxGTK
@@ -40,8 +44,6 @@
 Requires:       wget
 Requires:       wine
 Requires:       xterm
-Requires:       icoutils
-Requires:       p7zip
 Recommends:     python-gnome-extras
 BuildArch:      noarch
 %{py_requires}
@@ -56,6 +58,7 @@
 %prep
 %setup -q -n %{_name}
 %patch0 -p1
+%patch1 -p1
 
 %build
 # Nothing to build.

++++++ PlayOnLinux-BrokenMiscButtons.patch ++++++
diff -Pdpru playonlinux.orig/python/configure.py playonlinux/python/configure.py
--- playonlinux.orig/python/configure.py        2017-05-30 23:38:39.000000000 
+0200
+++ playonlinux/python/configure.py     2017-06-14 18:40:44.536022404 +0200
@@ -479,13 +479,13 @@ class Onglets(wx.Notebook):
                 playonlinux.open_folder(self.s_title, 
self.display_elements["open_in"].GetValue().encode("utf-8","replace"))
             else:
                 playonlinux.open_folder_prefix(self.s_prefix)
-        if(param == 403):
+        if(param == 404):
             if(self.s_isPrefix == False):
                 subprocess.Popen(["bash", 
Variables.playonlinux_env+"/bash/POL_Command", 
self.s_title.encode('utf-8','replace'), "POL_OpenShell", 
self.s_title.encode('utf-8','replace')])
             else:
                 subprocess.Popen(["bash", 
Variables.playonlinux_env+"/bash/POL_Command", "--prefix", 
self.s_prefix.encode('utf-8','replace'), "POL_OpenShell"])
 
-        if(param == 404):
+        if(param == 405):
             self.FileDialog = wx.FileDialog(self)
             self.FileDialog.SetDirectory("~")
             self.supported_files = "All|*.exe;*.EXE;*.msi;*.MSI\
@@ -538,7 +538,7 @@ class Onglets(wx.Notebook):
 
     def AddMiscChamp(self, title, shortname, value, num):
         self.display_elements[shortname+"_text"] = 
wx.StaticText(self.panelMisc, -1, title,pos=(15,24+num*40))
-        self.display_elements[shortname] = wx.TextCtrl(self.panelMisc, 
400+num, value, pos=(95,19+num*40), size=(420,25))
+        self.display_elements[shortname] = wx.TextCtrl(self.panelMisc, 
400+num, value, pos=(245,19+num*40), size=(270,25))
         wx.EVT_TEXT(self, 400+num, self.set_open_in)
 
     def set_open_in(self, event):
@@ -591,18 +591,12 @@ class Onglets(wx.Notebook):
         self.txtMisc = wx.StaticText(self.panelMisc, -1, _(nom), (10,10), 
wx.DefaultSize)
         self.txtMisc.SetFont(self.fontTitle)
 
-        i=1
-        self.AddMiscElement(_("Mouse warp 
override"),"MouseWarpOverride",["Enabled","Disabled","Force"],["enable","disable","force"],i)
-        i+=1
-        self.AddMiscButton("","folder",i)
-        i+=1
-        self.AddMiscChamp(_("Open in..."),"open_in","",i)
-        i+=1
-        self.AddMiscButton(_("Open a shell"),"shell",i)
-        i+=1
-        self.AddMiscButton(_("Run a .exe file in this virtual 
drive"),"exerun",i)
-        i+=1
-        self.AddMiscLongText(_("Command to exec before running the 
program"),"pre_run",i)
+        self.AddMiscElement(_("Mouse warp 
override"),"MouseWarpOverride",["Enabled","Disabled","Force"],["enable","disable","force"],1)
+        self.AddMiscButton("","folder",2)
+        self.AddMiscChamp(_("Open directory using command"),"open_in","",3)
+        self.AddMiscButton(_("Open a shell"),"shell",4)
+        self.AddMiscButton(_("Run a .exe file in this virtual 
drive"),"exerun",5)
+        self.AddMiscLongText(_("Command to exec before running the 
program"),"pre_run",6)
 
         self.AddPage(self.panelMisc, nom)
 
++++++ PlayOnLinux-desktop.patch ++++++
--- /var/tmp/diff_new_pack.59kf5O/_old  2017-06-15 11:26:03.332850404 +0200
+++ /var/tmp/diff_new_pack.59kf5O/_new  2017-06-15 11:26:03.332850404 +0200
@@ -1,14 +1,14 @@
---- a/etc/PlayOnLinux.desktop
-+++ b/etc/PlayOnLinux.desktop
-@@ -2,8 +2,8 @@
+diff -Pdpru playonlinux.orig/etc/PlayOnLinux.desktop 
playonlinux/etc/PlayOnLinux.desktop
+--- playonlinux.orig/etc/PlayOnLinux.desktop   2017-05-30 23:38:39.000000000 
+0200
++++ playonlinux/etc/PlayOnLinux.desktop        2017-06-13 20:29:06.462545243 
+0200
+@@ -1,8 +1,9 @@
+ [Desktop Entry]
  Version=1.0
- Encoding=UTF-8
  Name=PlayOnLinux
--Comment=PlayOnLinux
--Type=Application %F
-+Comment=Play your Windows games on Linux
-+Type=Application
- Exec=playonlinux
- Icon=/usr/share/playonlinux/etc/playonlinux.png
--Categories=Application;Game
++GenericName=PlayOnLinux
+ Comment=Front-end application for the wine
+ Type=Application
+ Exec=playonlinux %F
+ Icon=playonlinux
+-Categories=Utility;Emulator;
 +Categories=System;Emulator;

++++++ PlayOnLinux_4.2.10.tar.gz -> PlayOnLinux_4.2.11.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/playonlinux/CHANGELOG.md new/playonlinux/CHANGELOG.md
--- old/playonlinux/CHANGELOG.md        2016-01-03 23:16:17.000000000 +0100
+++ new/playonlinux/CHANGELOG.md        2017-05-30 23:38:39.000000000 +0200
@@ -1,3 +1,7 @@
+# 4.2.11
+* Fix POL_SetupWindow_download clobbering $FILENAME
+* Fix small typo in first use "send report" message
+
 # 4.2.10
 
 * Silence POL_Notice_IsAck when ack_notices file doesn't exist
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/playonlinux/Makefile new/playonlinux/Makefile
--- old/playonlinux/Makefile    1970-01-01 01:00:00.000000000 +0100
+++ new/playonlinux/Makefile    2017-05-30 23:38:39.000000000 +0200
@@ -0,0 +1,84 @@
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+#
+# Authors:             Jiri Konecny <[email protected]>
+
+
+# Arguments:
+#
+# PREFIX  -- Set prefix for the installation (/usr is default)
+# DESTDIR -- Where you want to install
+#
+
+CFLAGS ?= -O2
+CC = gcc $(CFLAGS)
+PYTHON = python2 -m py_compile
+GZIP = gzip
+
+PREFIX ?= /usr
+DESTDIR ?= # root dir
+
+CFLAGS += -lGL -lX11
+
+sharedir := $(DESTDIR)$(PREFIX)/share
+bindir := $(DESTDIR)$(PREFIX)/bin
+execdir := $(DESTDIR)$(PREFIX)/libexec
+
+
+all: build
+
+clean:
+       $(RM) ./python/*.pyc
+       $(RM) ./python/lib/*.pyc
+       $(RM) ./bin/check_dd
+       $(RM) ./bin/playonlinux
+       $(RM) ./bin/playonlinux-pkg
+       $(RM) ./ChangeLog
+
+build:
+       $(CC) ./src/check_direct_rendering.c -o ./bin/playonlinux-check_dd
+       $(PYTHON) ./python/*.py
+       $(PYTHON) ./python/lib/*.py
+       echo -e '#!/bin/bash\nGDK_BACKEND=x11 
${sharedir}/playonlinux/playonlinux "$$@"\nexit 0' > ./bin/playonlinux
+       echo -e '#!/bin/bash\n${sharedir}/playonlinux/playonlinux-pkg 
"$$@"\nexit 0' > ./bin/playonlinux-pkg
+       chmod +x ./bin/playonlinux
+       chmod +x ./bin/playonlinux-pkg
+       sed -i 's/\(\["DEBIAN_PACKAGE"\]\s*=\s*\)"FALSE"/\1"TRUE"/' \
+               ./python/lib/Variables.py
+
+install:
+       install -d $(bindir)
+       install -d $(execdir)
+       install -d $(sharedir)/pixmaps
+       install -d $(sharedir)/applications
+       install -d $(sharedir)/appdata
+       install -d $(sharedir)/playonlinux/bin
+       install -d $(sharedir)/man/man1
+       install -d $(sharedir)/locale
+       $(GZIP) -c ./doc/playonlinux-pkg.1 > 
$(sharedir)/man/man1/playonlinux-pkg.1.gz
+       $(GZIP) -c ./doc/playonlinux.1 > $(sharedir)/man/man1/playonlinux.1.gz
+       cp ./etc/PlayOnLinux.desktop 
$(sharedir)/applications/PlayOnLinux.desktop
+       cp ./etc/PlayOnLinux.appdata.xml 
$(sharedir)/appdata/PlayOnLinux.appdata.xml
+       cp ./etc/playonlinux.png $(sharedir)/pixmaps/playonlinux.png
+       cp ./etc/playonlinux16.png $(sharedir)/pixmaps/playonlinux16.png
+       cp ./etc/playonlinux32.png $(sharedir)/pixmaps/playonlinux32.png
+       cp ./bin/{playonlinux,playonlinux-pkg} $(bindir)/
+       cp ./bin/playonlinux-check_dd $(execdir)/
+       cp ./{playonlinux*,README.md,TRANSLATORS,CHANGELOG.md,LICENCE} 
$(sharedir)/playonlinux/
+       cp -R ./{bash,etc,lib,plugins,python,resources,tests} 
$(sharedir)/playonlinux/
+       cp -R ./lang/locale/* $(sharedir)/locale/
+
+changelog:
+       (GIT_DIR=.git git log > .changelog.tmp && mv .changelog.tmp ChangeLog; 
rm -f .changelog.tmp) || (touch ChangeLog; echo 'git directory not found: 
installing possibly empty changelog.' >&2)
+
+.PHONY: all clean build install changelog
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/playonlinux/bash/check_gl 
new/playonlinux/bash/check_gl
--- old/playonlinux/bash/check_gl       2016-01-03 23:16:17.000000000 +0100
+++ new/playonlinux/bash/check_gl       2017-05-30 23:38:39.000000000 +0200
@@ -41,19 +41,25 @@
                chmod +x "$POL_USER_ROOT/tmp/check_dd_$1"
                message="$("$POL_USER_ROOT/tmp/check_dd_$1")"
                out="$?"
-               
-               if [ "$out" = "0" ]
-               then
-                       $cmd "$message"
-                       exit 0
-               else
-                       $cmdW "$message"
-                       exit 2
-               fi
+       # When bz2 version is not presented (was installed on specific platform)
+       # use on site compiled check_dd version
+       elif [ -e "/usr/libexec/playonlinux-check_dd" ]
+       then
+               message="$("/usr/libexec/playonlinux-check_dd")"
+               out="$?"
        else
                $cmdW "check_dd_$1 missing, test skipped"
                exit 0
        fi
+
+       if [ "$out" = "0" ]
+       then
+               $cmd "$message"
+               exit 0
+       else
+               $cmdW "$message"
+               exit 2
+       fi
 }
 cd /tmp
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/playonlinux/doc/playonlinux-daemon.1 
new/playonlinux/doc/playonlinux-daemon.1
--- old/playonlinux/doc/playonlinux-daemon.1    2016-01-03 23:16:17.000000000 
+0100
+++ new/playonlinux/doc/playonlinux-daemon.1    1970-01-01 01:00:00.000000000 
+0100
@@ -1,28 +0,0 @@
-.TH PLAYONLINUX-DAEMON 1 "February  6, 2009"
-
-.SH NAME
-playonlinux-daemon \- daemon to handle disk insertion in PlayOnLinux
-
-.SH SYNOPSIS
-.B playonlinux-daemon
-.RI [ options ]
-
-.SH DESCRIPTION
-.B playonlinux-daemon
-is a daemon to handle disk insertion within PlayOnLinux. It still needs 
testing and may not work flawlessly.
-.br
-Users who want to handle autoruns with PlayOnLinux should launch this script 
at startup.
-
-.SH OPTIONS
-.TP
-.I "--version"
- Show version number and exit.
-.TP
-.I "--kill"
- Kill the daemon.
-
-.SH AUTHOR
-playonlinux was written by Quentin Pâris <[email protected]>.
-.PP
-This manual page was written by Bertrand Marc <[email protected]>,
-for the Debian project (but may be used by others).
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/playonlinux/etc/PlayOnLinux.appdata.xml 
new/playonlinux/etc/PlayOnLinux.appdata.xml
--- old/playonlinux/etc/PlayOnLinux.appdata.xml 1970-01-01 01:00:00.000000000 
+0100
+++ new/playonlinux/etc/PlayOnLinux.appdata.xml 2017-05-30 23:38:39.000000000 
+0200
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Copyright 2016 Jiri Konecny <[email protected]> -->
+<component type="desktop">
+  <id>PlayOnLinux.desktop</id>
+  <project_license>GPL-3.0</project_license>
+  <metadata_license>CC0-1.0</metadata_license>
+  <name>PlayOnLinux</name>
+  <summary>Graphical front-end for Wine</summary>
+  <description>
+    <p>
+    PlayOnLinux will allow you to run your favorite Windows games and
+    applications on Linux through Wine easily.
+    </p>
+    <p>
+    New users can often find Wine to be intimidating and difficult to use.
+    PlayOnLinux simplifies much of this and makes installing and using
+    Windows programs easier.
+    </p>
+    <p>
+    PlayOnLinux has the database of Windows applications from which the user
+    can install desired application with a few clicks. It will automatically
+    setup your Wine prefix and download any required Windows libraries.
+    </p>
+  </description>
+  <screenshots>
+    <screenshot type="default">
+      
<image>https://jkonecny.fedorapeople.org/images/playonlinux_screen_01.png</image>
+    </screenshot>
+    <screenshot>
+      
<image>https://jkonecny.fedorapeople.org/images/playonlinux_screen_02.png</image>
+    </screenshot>
+    <screenshot>
+      
<image>https://jkonecny.fedorapeople.org/images/playonlinux_screen_03.png</image>
+    </screenshot>
+  </screenshots>
+  <url type="homepage">https://www.playonlinux.com/</url>
+  <url type="bugtracker">https://www.playonlinux.com/en/bugs.html</url>
+  <url type="donation">https://www.playonlinux.com/en/donate.html</url>
+  <url type="help">http://wiki.playonlinux.com/index.php/Main_Page</url>
+  <url 
type="translate">http://wiki.playonlinux.com/index.php/Scripting_-_Chapter_10:_Script_Translation</url>
+
+  <keywords>
+    <keyword>wine</keyword>
+    <keyword>games</keyword>
+    <keyword>software</keyword>
+    <keyword>windows</keyword>
+  </keywords>
+
+  <update_contact>dragonlichcz_at_gmail.com</update_contact>
+</component>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/playonlinux/etc/PlayOnLinux.desktop 
new/playonlinux/etc/PlayOnLinux.desktop
--- old/playonlinux/etc/PlayOnLinux.desktop     2016-01-03 23:16:17.000000000 
+0100
+++ new/playonlinux/etc/PlayOnLinux.desktop     2017-05-30 23:38:39.000000000 
+0200
@@ -1,9 +1,8 @@
 [Desktop Entry]
 Version=1.0
-Encoding=UTF-8
 Name=PlayOnLinux
-Comment=PlayOnLinux
-Type=Application %F
-Exec=playonlinux
-Icon=/usr/share/playonlinux/etc/playonlinux.png
-Categories=Application;Game
+Comment=Front-end application for the wine
+Type=Application
+Exec=playonlinux %F
+Icon=playonlinux
+Categories=Utility;Emulator;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/playonlinux/etc/playonlinux-Programmes.menu 
new/playonlinux/etc/playonlinux-Programmes.menu
--- old/playonlinux/etc/playonlinux-Programmes.menu     2016-01-03 
23:16:17.000000000 +0100
+++ new/playonlinux/etc/playonlinux-Programmes.menu     1970-01-01 
01:00:00.000000000 +0100
@@ -1,14 +0,0 @@
-<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
-"http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd";>
-<Menu>
-  <Name>Applications</Name>
-  <Menu>
-    <Name>PlayOnLinux</Name>
-       <Directory>PlayOnLinux.directory</Directory>
-        <Include>
-             <And>
-               <Category>PlayOnLinux</Category>
-             </And>
-       </Include>
-  </Menu>
-</Menu>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/playonlinux/etc/playonlinux-Programs.menu 
new/playonlinux/etc/playonlinux-Programs.menu
--- old/playonlinux/etc/playonlinux-Programs.menu       1970-01-01 
01:00:00.000000000 +0100
+++ new/playonlinux/etc/playonlinux-Programs.menu       2017-05-30 
23:38:39.000000000 +0200
@@ -0,0 +1,14 @@
+<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
+"http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd";>
+<Menu>
+  <Name>Applications</Name>
+  <Menu>
+    <Name>PlayOnLinux</Name>
+       <Directory>PlayOnLinux.directory</Directory>
+        <Include>
+             <And>
+               <Category>PlayOnLinux</Category>
+             </And>
+       </Include>
+  </Menu>
+</Menu>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/playonlinux/etc/pol_bash new/playonlinux/etc/pol_bash
--- old/playonlinux/etc/pol_bash        2016-01-03 23:16:17.000000000 +0100
+++ new/playonlinux/etc/pol_bash        2017-05-30 23:38:39.000000000 +0200
@@ -6,7 +6,7 @@
 echo ""
 if [ "$PLAYONLINUX" = "" ]
 then
-echo "Ce script doit être executé dans PlayOnLinux."
+echo "This script must be executed in PlayOnLinux."
 read ok
 exit 0
 fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/playonlinux/lib/scripts.lib 
new/playonlinux/lib/scripts.lib
--- old/playonlinux/lib/scripts.lib     2016-01-03 23:16:17.000000000 +0100
+++ new/playonlinux/lib/scripts.lib     2017-05-30 23:38:39.000000000 +0200
@@ -315,6 +315,7 @@
        BINARY="$1"
        SpecialArg="$4"
        Categories="$5"
+       BIN_PATH="$6"
        if [ "$2" = "" ]
        then
                ICON_FILENAME="$1"
@@ -328,14 +329,20 @@
        ICON_WEB_NAME="$3"
        ICON_OK=0
 
-       local binary_path="$(POL_System_find_file "$BINARY")"
-       local binary_dir="$(dirname "$binary_path")"
+       if [ -z "$BIN_PATH" ]; then
+               local binary_path="$(POL_System_find_file "$BINARY")"
+               local binary_dir="$WINEPREFIX/drive_c/$(dirname "$binary_path")"
+       else
+               local binary_path="$BIN_PATH/$BINARY"
+               local binary_dir="$(dirname "$binary_path")"
+       fi
+
        local binary_name="$(basename "$binary_path")"
+       local target="$binary_dir/$binary_name"
 
-       [ -z "$binary_dir" ] && POL_Debug_Fatal "Can't find $BINARY"
+       [ "$binary_dir" = "$WINEPREFIX/drive_c/" ] && POL_Debug_Fatal "Can't 
find $BINARY"
        POL_Debug_Message "Looking for <${BINARY}>, found <${binary_path}>"
 
-       local target="$WINEPREFIX/drive_c/$binary_dir/$binary_name"
        [[ "$target" =~ \.lnk$ ]] && target="$(winepath -u "$(strings 
"$target"|tail -n 1)")"
 
        if [ -n "$ICON_WEB_NAME" ]; then
@@ -364,10 +371,10 @@
                [ -n "$LOGTITLE" ] && echo "#POL_Log=$LOGTITLE"
                [ -n "$SCRIPTID" ] && echo "#ScriptID=$SCRIPTID"
                if [[ "$binary_name" =~ \.(lnk|bat|cmd)$ ]]; then
-                       echo "cd \"$(dirname "$target")\""
-                       echo "POL_Wine start.exe /wait /unix 
\"\$WINEPREFIX/drive_c/$binary_dir/$binary_name\" $SpecialArg \"\$@\""
+                       echo "cd \"$binary_dir\""
+                       echo "POL_Wine start.exe /wait /unix \"\$target\" 
$SpecialArg \"\$@\""
                else
-                       echo "cd \"$WINEPREFIX/drive_c/$binary_dir\""
+                       echo "cd \"$binary_dir\""
                        echo "POL_Wine \"$binary_name\" $SpecialArg \"\$@\""
                fi) > "$POL_USER_ROOT/shortcuts/$ICON_FILENAME"
                chmod +x "$POL_USER_ROOT/shortcuts/$ICON_FILENAME"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/playonlinux/lib/setupwindow.lib 
new/playonlinux/lib/setupwindow.lib
--- old/playonlinux/lib/setupwindow.lib 2016-01-03 23:16:17.000000000 +0100
+++ new/playonlinux/lib/setupwindow.lib 2017-05-30 23:38:39.000000000 +0200
@@ -177,6 +177,7 @@
        # /!\ Scriptors should directly use POL_Download
         # If provided, make sure the filename is absolute to avoid any 
misinterpretation from server
 
+       local FILENAME
        [ -n "$4" ] && FILENAME="$4" || FILENAME="$PWD/"
        Result="$(echo "$POL_COOKIE     POL_SetupWindow_download        $$      
$(POL_Untab "$1")       $(POL_Untab "$2")       $3      $(POL_Untab 
"$FILENAME")" | ncns "$POL_HOST" "$POL_PORT")"
        # FIXME: Result should send 'fail' if the download has failed. Maybe we 
could catch it
@@ -726,11 +727,13 @@
                [ "$APP_ANSWER" = "$LNG_FINISH" ] && break
 
                local EXE_FILE
+               local EXE_PATH
                if [ "$APP_ANSWER" = "$LNG_BROWSE" ]
                then
                        cd $WINEPREFIX/drive_c
                        POL_SetupWindow_browse "$(eval_gettext "Please choose a 
file for $APPLICATION_TITLE to make a shortcut")" "$TITLE"
                        EXE_FILE="$(basename "$APP_ANSWER")"
+                       EXE_PATH="$(dirname "$APP_ANSWER")"
                else
                        EXE_FILE="$APP_ANSWER"
                fi
@@ -766,7 +769,7 @@
                                        break
                                fi
                        done
-                       POL_Shortcut "$EXE_FILE" "$SUGGEST"
+                       POL_Shortcut "$EXE_FILE" "$SUGGEST" "" "" "" "$EXE_PATH"
                        echo "POL_Shortcut \"$EXE_FILE\" \"$SUGGEST\"" >> 
"$POL_USER_ROOT/tmp/shortcuts"
                fi
        done
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/playonlinux/python/configure.py 
new/playonlinux/python/configure.py
--- old/playonlinux/python/configure.py 2016-01-03 23:16:17.000000000 +0100
+++ new/playonlinux/python/configure.py 2017-05-30 23:38:39.000000000 +0200
@@ -395,6 +395,11 @@
             
self.general_elements["arguments"].SetValue(playonlinux.getArgs(self.s_title))
 
             self.display_elements["folder_button"].SetLabel(_("Open program's 
directory"))
+            if not playonlinux.GetSettings("OPEN_IN", self.s_prefix):
+                self.display_elements["open_in"].SetValue("xdg-open")
+            else:
+                
self.display_elements["open_in"].SetValue(playonlinux.GetSettings("OPEN_IN", 
self.s_prefix))
+
             
if(os.path.exists(Variables.playonlinux_rep+"configurations/configurators/"+self.s_title)):
                 self.configurator_title.Show()
                 self.configurator_button.Show()
@@ -471,7 +476,7 @@
         param = event.GetId()
         if(param == 402):
             if(self.s_isPrefix == False):
-                playonlinux.open_folder(self.s_title)
+                playonlinux.open_folder(self.s_title, 
self.display_elements["open_in"].GetValue().encode("utf-8","replace"))
             else:
                 playonlinux.open_folder_prefix(self.s_prefix)
         if(param == 403):
@@ -531,6 +536,15 @@
 
         wx.EVT_BUTTON(self, 400+num,  self.misc_button)
 
+    def AddMiscChamp(self, title, shortname, value, num):
+        self.display_elements[shortname+"_text"] = 
wx.StaticText(self.panelMisc, -1, title,pos=(15,24+num*40))
+        self.display_elements[shortname] = wx.TextCtrl(self.panelMisc, 
400+num, value, pos=(95,19+num*40), size=(420,25))
+        wx.EVT_TEXT(self, 400+num, self.set_open_in)
+
+    def set_open_in(self, event):
+        new_open_in = self.display_elements["open_in"].GetValue()
+        playonlinux.SetSettings('OPEN_IN', new_open_in, self.s_prefix)
+
     def AddMiscLongText(self, title, shortname, num):
         self.display_elements[shortname+"_text"] = 
wx.StaticText(self.panelMisc, -1, title,pos=(15,19+num*40))
         self.display_elements[shortname+"_panel"] = wx.Panel(self.panelMisc, 
-1, size=wx.Size(450,70),pos=(20,44+num*40))
@@ -541,7 +555,7 @@
             content = ""
 
         self.display_elements[shortname] = 
wx.TextCtrl(self.display_elements[shortname+"_panel"], 400+num, content, 
size=wx.Size(448,68), pos=(2,2), style=Variables.widget_borders|wx.TE_MULTILINE)
-        wx.EVT_TEXT(self, 405,  self.edit_shortcut)
+        wx.EVT_TEXT(self, 400+num,  self.edit_shortcut)
 
     def edit_shortcut(self, event):
         content = 
self.display_elements["pre_run"].GetValue().encode("utf-8","replace")
@@ -577,11 +591,18 @@
         self.txtMisc = wx.StaticText(self.panelMisc, -1, _(nom), (10,10), 
wx.DefaultSize)
         self.txtMisc.SetFont(self.fontTitle)
 
-        self.AddMiscElement(_("Mouse warp 
override"),"MouseWarpOverride",["Enabled","Disabled","Force"],["enable","disable","force"],1)
-        self.AddMiscButton("","folder",2)
-        self.AddMiscButton(_("Open a shell"),"shell",3)
-        self.AddMiscButton(_("Run a .exe file in this virtual 
drive"),"exerun",4)
-        self.AddMiscLongText(_("Command to exec before running the 
program"),"pre_run",5)
+        i=1
+        self.AddMiscElement(_("Mouse warp 
override"),"MouseWarpOverride",["Enabled","Disabled","Force"],["enable","disable","force"],i)
+        i+=1
+        self.AddMiscButton("","folder",i)
+        i+=1
+        self.AddMiscChamp(_("Open in..."),"open_in","",i)
+        i+=1
+        self.AddMiscButton(_("Open a shell"),"shell",i)
+        i+=1
+        self.AddMiscButton(_("Run a .exe file in this virtual 
drive"),"exerun",i)
+        i+=1
+        self.AddMiscLongText(_("Command to exec before running the 
program"),"pre_run",i)
 
         self.AddPage(self.panelMisc, nom)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/playonlinux/python/guiv3.py 
new/playonlinux/python/guiv3.py
--- old/playonlinux/python/guiv3.py     2016-01-03 23:16:17.000000000 +0100
+++ new/playonlinux/python/guiv3.py     2017-05-30 23:38:39.000000000 +0200
@@ -54,7 +54,7 @@
 
 class POL_SetupFrame(wx.Frame): #fenêtre principale
     def __init__(self, parent, titre, POL_SetupWindowID, Arg1, Arg2, Arg3):
-        wx.Frame.__init__(self, None, -1, title = titre, style = wx.CLOSE_BOX 
| wx.CAPTION | wx.MINIMIZE_BOX, size = (520, 398+Variables.windows_add_size))
+        wx.Frame.__init__(self, None, -1, title = titre, style = wx.CLOSE_BOX 
| wx.CAPTION | wx.MINIMIZE_BOX | wx.RESIZE_BORDER, size = (520, 
398+Variables.windows_add_size))
         self.parent = parent
         self.bash_pid = int(POL_SetupWindowID)
         self.SetIcon(wx.Icon(Variables.playonlinux_env+"/etc/playonlinux.png", 
wx.BITMAP_TYPE_ANY))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/playonlinux/python/lib/Variables.py 
new/playonlinux/python/lib/Variables.py
--- old/playonlinux/python/lib/Variables.py     2016-01-03 23:16:17.000000000 
+0100
+++ new/playonlinux/python/lib/Variables.py     2017-05-30 23:38:39.000000000 
+0200
@@ -16,7 +16,7 @@
 os.environ["POL_PORT"] = "0"
 os.environ["PLAYONLINUX"] = 
os.path.realpath(os.path.realpath(__file__)+"/../../../")
 os.environ["SITE"] = "http://repository.playonlinux.com";
-os.environ["VERSION"] = "4.2.10"
+os.environ["VERSION"] = "4.2.11"
 os.environ["POL_ID"] = str(random.randint(1, 100000000))
 os.environ["WINE_SITE"] = "http://wine.playonlinux.com/binaries";
 os.environ["GECKO_SITE"] = "http://wine.playonlinux.com/gecko";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/playonlinux/python/lib/playonlinux.py 
new/playonlinux/python/lib/playonlinux.py
--- old/playonlinux/python/lib/playonlinux.py   2016-01-03 23:16:17.000000000 
+0100
+++ new/playonlinux/python/lib/playonlinux.py   2017-05-30 23:38:39.000000000 
+0200
@@ -224,7 +224,7 @@
             r.append(c.lower())
     return r
 
-def open_folder(software):
+def open_folder(software, cmd="xdg-open"):
     read = 
open(Variables.playonlinux_rep+"shortcuts/"+software,"r").readlines()
 
     if not len(read):
@@ -244,7 +244,7 @@
         if(os.environ["POL_OS"] == "Mac"):
             subprocess.call(["open", AppDir])
         else:
-            subprocess.call(["xdg-open", AppDir])
+            subprocess.call([cmd, AppDir])
 
 def open_folder_prefix(software):
     AppDir = os.environ["POL_USER_ROOT"]+"/wineprefix/"+software
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/playonlinux/python/mainwindow.py 
new/playonlinux/python/mainwindow.py
--- old/playonlinux/python/mainwindow.py        2016-01-03 23:16:17.000000000 
+0100
+++ new/playonlinux/python/mainwindow.py        2017-05-30 23:38:39.000000000 
+0200
@@ -122,7 +122,7 @@
         name = self.SavePerspective().split("=")
         name = name[1].split(";")
         name = name[0]
-        return name 
+        return name
 
     def getPerspective(self):
         return 
self.SavePerspective().replace(self._getPerspectiveName(),"PERSPECTIVE_NAME")
@@ -222,8 +222,8 @@
 
         ## List game
         self.list_game = wx.TreeCtrl(self, 105, 
style=wx.TR_HIDE_ROOT|wx.TR_FULL_ROW_HIGHLIGHT)
-        self.list_game.SetSpacing(0);
-        self.list_game.SetIndent(5);
+        self.list_game.SetSpacing(0)
+        self.list_game.SetIndent(5)
         self.list_game.SetImageList(self.images)
         self.menu_gauche = wx.Panel(self,-1)
 
@@ -343,15 +343,15 @@
 
         self.last_string = ""
 
-        self.sb = wx.StatusBar(self, -1 )
+        self.sb = wx.StatusBar(self, -1)
         self.sb.SetFieldsCount(2)
         self.sb.SetStatusWidths([self.GetSize()[0], -1])
         self.sb.SetStatusText("", 0)
 
         if(os.environ["POL_OS"] == "Mac"):
-            hauteur = 2;
+            hauteur = 2
         else:
-            hauteur = 6;
+            hauteur = 6
         self.jauge_update = wx.Gauge(self.sb, -1, 100, (self.GetSize()[0]-100, 
hauteur), size=(100,16))
         self.jauge_update.Pulse()
         self.jauge_update.Hide()
@@ -393,13 +393,13 @@
                 # wxpython 2.8 does not support AddStretchableSpace(). This is 
a dirty workaround for this.
                 self.dirtyHack = wx.StaticText(self.toolbar)
                 self.SpaceHack = True
-                self.toolbar.AddControl( self.dirtyHack ) 
+                self.toolbar.AddControl(self.dirtyHack)
                 self.UpdateSearchHackSize()
 
         try:
-                self.toolbar.AddControl( self.searchbox , _("Search")) 
+                self.toolbar.AddControl(self.searchbox , _("Search"))
         except:
-                self.toolbar.AddControl( self.searchbox ) 
+                self.toolbar.AddControl(self.searchbox)
                 self.searchbox.SetDescriptiveText(_("Search"))
 
 
@@ -447,11 +447,11 @@
         wx.EVT_TREE_SEL_CHANGED(self, 105, self.Select)
 
         # Support
-        wx.EVT_MENU(self, 400,  self.runSupport)
-        wx.EVT_MENU(self, 401,  self.runSupport)
-        wx.EVT_MENU(self, 402,  self.runSupport)
-        wx.EVT_MENU(self, 403,  self.runSupport)
-        wx.EVT_MENU(self, 404,  self.runSupport)
+        wx.EVT_MENU(self, 400, self.runSupport)
+        wx.EVT_MENU(self, 401, self.runSupport)
+        wx.EVT_MENU(self, 402, self.runSupport)
+        wx.EVT_MENU(self, 403, self.runSupport)
+        wx.EVT_MENU(self, 404, self.runSupport)
         
         # PlayOnLinux main timer
         self.timer = wx.Timer(self, 1)
@@ -477,7 +477,7 @@
         wx.EVT_MENU(self, 235, self.RKill)
         wx.EVT_MENU(self, 236, self.ReadMe)
         self.Bind(wx.EVT_SIZE, self.ResizeWindow)
-        self._mgr.restorePosition()   
+        self._mgr.restorePosition()
 
     def ResizeWindow(self, e):
         self.UpdateGaugePos()
@@ -490,9 +490,9 @@
 
     def UpdateGaugePos(self):
         if(os.environ["POL_OS"] == "Mac"):
-            hauteur = 2;
+            hauteur = 2
         else:
-            hauteur = 6;
+            hauteur = 6
         self.jauge_update.SetPosition((self.GetSize()[0]-100, hauteur))
 
     def SetupWindowTimer_SendToGui(self, recvData):
@@ -513,10 +513,9 @@
         else:
             self.SetupWindow_TimerRestart(10)
 
-        if(self.SetupWindowTimer_action != None):                           
+        if(self.SetupWindowTimer_action != None):
             return gui_server.readAction(self)
-            
-           
+
     def TimerAction(self, event):
         self.StatusRead()
         
@@ -635,7 +634,7 @@
             subprocess.Popen(["bash", 
Variables.playonlinux_rep+"/plugins/"+plugin+"/scripts/menu", game_exec])
         except :
             pass
-            
+
     def runSupport(self, event):
         urlId = event.GetId()-400
         urlPrefix = "http://www."+os.environ["POL_DNS"]+"/en";
@@ -704,7 +703,10 @@
 
     def GoToAppDir(self, event):
         self.game_exec = self.GetSelectedProgram()
-        playonlinux.open_folder(self.game_exec)
+        if not playonlinux.GetSettings("OPEN_IN", 
playonlinux.getPrefix(self.game_exec)):
+            playonlinux.open_folder(self.game_exec)
+        else:
+            playonlinux.open_folder(self.game_exec, 
playonlinux.GetSettings("OPEN_IN", playonlinux.getPrefix(self.game_exec)))
 
     def ChangeIcon(self, event):
         self.IconDir = Variables.homedir+"/.local/share/icons/"
@@ -727,11 +729,11 @@
     def Select(self, event):
         game_exec = self.GetSelectedProgram()
         self.read = 
open(Variables.playonlinux_rep+"shortcuts/"+game_exec,"r").readlines()
-        self.i = 0;
-        self.wine_present = False;
+        self.i = 0
+        self.wine_present = False
         while(self.i < len(self.read)):
             if("wine " in self.read[self.i]):
-                self.wine_present = True;
+                self.wine_present = True
             self.i += 1
 
         self.generate_menu(game_exec)
@@ -753,7 +755,7 @@
         self.menuElem = {}
         self.menuImage = {}
 
-        i = 0;
+        i = 0
         self.menuGaucheAddTitle("pol_title", os.environ["APPLICATION_TITLE"], 
i)
         i+=1
         self.menuGaucheAddLink("pol_prgm_install", _("Install a program"), 
i,Variables.playonlinux_env+"/resources/images/menu/add.png",self.InstallMenu)
@@ -883,9 +885,9 @@
         root = self.list_game.AddRoot("")
         self.i = 0
         if(self.iconSize <= 32):
-            self.iconFolder = "32";
+            self.iconFolder = "32"
         else:
-            self.iconFolder = "full_size";
+            self.iconFolder = "full_size"
         for game in self.games: #METTRE EN 32x32
             if(self.searchbox.GetValue().encode("utf-8","replace").lower() in 
game.lower()):
                 if(not 
os.path.isdir(Variables.playonlinux_rep+"/shortcuts/"+game)):
@@ -1100,8 +1102,8 @@
         self.registeredPid = pids
 
         if(playonlinux.GetSettings("DONT_ASK_BEFORE_CLOSING") == "TRUE" or 
self.registeredPid == [] or wx.YES == wx.MessageBox(_('Are you sure you want to 
close all {0} 
windows?').format(os.environ["APPLICATION_TITLE"]).decode("utf-8","replace"),os.environ["APPLICATION_TITLE"],
 style=wx.YES_NO | wx.ICON_QUESTION)):
-            self.SizeToSave = self.GetSize();
-            self.PositionToSave = self.GetPosition();
+            self.SizeToSave = self.GetSize()
+            self.PositionToSave = self.GetPosition()
             # Save size and position
             playonlinux.SetSettings("MAINWINDOW_WIDTH",str(self.SizeToSave[0]))
             
playonlinux.SetSettings("MAINWINDOW_HEIGHT",str(self.SizeToSave[1]-Variables.windows_add_playonmac*56))
@@ -1249,7 +1251,7 @@
 
         if(os.environ["DEBIAN_PACKAGE"] == "FALSE"):
             if(playonlinux.GetSettings("SEND_REPORT") == ""):
-                if(wx.YES == wx.MessageBox(_('Do you want to help {0} to make 
a compatibility database?\n\nIf you click yes, the following things will be 
sent to us anonymously the first time you run a Windows program:\n\n- You 
graphic card model\n- Your OS version\n- If graphic drivers are installed or 
not.\n\n\nThese information will be very precious for us to help 
people.').format(os.environ["APPLICATION_TITLE"]).decode("utf-8","replace"), 
os.environ["APPLICATION_TITLE"],style=wx.YES_NO | wx.ICON_QUESTION)):
+                if(wx.YES == wx.MessageBox(_('Do you want to help {0} to make 
a compatibility database?\n\nIf you click yes, the following things will be 
sent to us anonymously the first time you run a Windows program:\n\n- Your 
graphic card model\n- Your OS version\n- If graphic drivers are installed or 
not.\n\n\nThese information will be very precious for us to help 
people.').format(os.environ["APPLICATION_TITLE"]).decode("utf-8","replace"), 
os.environ["APPLICATION_TITLE"],style=wx.YES_NO | wx.ICON_QUESTION)):
                     playonlinux.SetSettings("SEND_REPORT","TRUE")
                 else:
                     playonlinux.SetSettings("SEND_REPORT","FALSE")


Reply via email to