From 9adb36eb772ccdc70e09c9a0ca4ea79c3c36b8bb Mon Sep 17 00:00:00 2001 From: Sergii Pylypenko Date: Fri, 21 Nov 2014 23:20:58 +0200 Subject: [PATCH] Gimp: fixed Lollipop issues --- .../xserver-gimp/AndroidAppSettings.cfg | 65 +++++++++++------- .../xserver-gimp/AndroidData/data-1.tgz | 1 + .../xserver-gimp/AndroidData/postinstall2.sh | 1 + .../xserver-gimp/AndroidData/update4.tgz | Bin 0 -> 20643 bytes project/jni/application/xserver-gimp/xserver | 2 +- project/jni/application/xserver/gfx.c | 2 +- 6 files changed, 46 insertions(+), 25 deletions(-) create mode 120000 project/jni/application/xserver-gimp/AndroidData/data-1.tgz create mode 120000 project/jni/application/xserver-gimp/AndroidData/postinstall2.sh create mode 100644 project/jni/application/xserver-gimp/AndroidData/update4.tgz diff --git a/project/jni/application/xserver-gimp/AndroidAppSettings.cfg b/project/jni/application/xserver-gimp/AndroidAppSettings.cfg index fa2b3d7ac..1b8943b91 100644 --- a/project/jni/application/xserver-gimp/AndroidAppSettings.cfg +++ b/project/jni/application/xserver-gimp/AndroidAppSettings.cfg @@ -7,18 +7,18 @@ AppName="GIMP Inkscape" AppFullName=org.gimp.inkscape # Application version code (integer) -AppVersionCode=28215 +AppVersionCode=28216 # Application user-visible version name (string) -AppVersionName="2.8.2.15" +AppVersionName="2.8.2.16" # Specify path to download application data in zip archive in the form 'Description|URL|MirrorURL^Description2|URL2|MirrorURL2^...' # If you'll start Description with '!' symbol it will be enabled by default, other downloads should be selected by user from startup config menu # If the URL in in the form ':dir/file.dat:http://URL/' it will be downloaded as binary BLOB to the application dir and not unzipped # If the URL does not contain 'http://' it is treated as file from 'project/jni/application/src/AndroidData' dir - # these files are put inside .apk package by build system -# Also please avoid 'https://' URLs, many Android devices do not have trust certificates and will fail to connect to SF.net over HTTPS -AppDataDownloadUrl="!!Data files|:data.tar.gz:http://sourceforge.net/projects/libsdl-android/files/ubuntu/14.05.01/dist-gimp-wheezy-.tar.gz/download^!!XSDL data files|:data-1.tar.gz:data-1.tgz^!!XSDL fonts|:DroidSansMono.ttf:DroidSansMono.ttf^!!Postinstall script|:postinstall.sh:postinstall2.sh^!!Update|:update1.tar.gz:update1.tgz" +# You can specify Google Play expansion files in the form 'obb:main.12345' or 'obb:patch.12345' where 12345 is the app version, first associated with the file +AppDataDownloadUrl="!!Data files|:data.tar.gz:http://sourceforge.net/projects/libsdl-android/files/ubuntu/14.05.01/dist-gimp-wheezy-.tar.gz/download^!!XSDL data files|:data-1.tar.gz:data-1.tgz^!!XSDL fonts|:DroidSansMono.ttf:DroidSansMono.ttf^!!Postinstall script|:postinstall.sh:postinstall2.sh^!!Update|:update1.tar.gz:update1.tgz^!!Update|:update2.tar.gz:update2-.tgz^!!Update|:update3.tar.gz:update3-.tgz^!!Update|:update4.tar.gz:update4.tgz" # Reset SDL config when updating application to the new version (y) / (n) ResetSdlConfigForThisVersion=y @@ -36,12 +36,6 @@ LibSdlVersion=1.2 # Specify screen orientation: (v)ertical/(p)ortrait or (h)orizontal/(l)andscape ScreenOrientation=h -# Do not allow device to sleep when the application is in foreground, set this for video players or apps which use accelerometer -InhibitSuspend=n - -# Create Android service, so the app is less likely to be killed while in background -CreateService=n - # Video color depth - 16 BPP is the fastest and supported for all modes, 24 bpp is supported only # with SwVideoMode=y, SDL_OPENGL mode supports everything. (16)/(24)/(32) VideoDepthBpp=16 @@ -66,9 +60,19 @@ SdlVideoResize=y # Application resizing will keep 4:3 aspect ratio, with black bars at sides (y)/(n) SdlVideoResizeKeepAspect=n +# Do not allow device to sleep when the application is in foreground, set this for video players or apps which use accelerometer +InhibitSuspend=y + +# Create Android service, so the app is less likely to be killed while in background +CreateService=y + # Application does not call SDL_Flip() or SDL_UpdateRects() appropriately, or draws from non-main thread - # enabling the compatibility mode will force screen update every 100 milliseconds, which is laggy and inefficient (y) or (n) -CompatibilityHacks=n +CompatibilityHacksForceScreenUpdate=n + +# Application does not call SDL_Flip() or SDL_UpdateRects() after mouse click (ScummVM and all Amiga emulators do that) - +# force screen update by moving mouse cursor a little after each click (y) or (n) +CompatibilityHacksForceScreenUpdateMouseClick=y # Application initializes SDL audio/video inside static constructors (which is bad, you won't be able to run ndk-gdb) (y)/(n) CompatibilityHacksStaticInit=n @@ -102,6 +106,10 @@ AppUsesMouse=y # Application needs two-button mouse, will also enable advanced point-and-click features (y) or (n) AppNeedsTwoButtonMouse=y +# Right mouse button can do long-press/drag&drop action, necessary for some games (y) or (n) +# If you disable it, swiping with two fingers will send mouse wheel events +RightMouseButtonLongPress=n + # Show SDL mouse cursor, for applications that do not draw cursor at all (y) or (n) ShowMouseCursor=n @@ -111,18 +119,26 @@ GenerateSubframeTouchEvents=y # Force relative (laptop) mouse movement mode, useful when both on-screen keyboard and mouse are needed (y) or (n) ForceRelativeMouseMode=y -# Application needs arrow keys (y) or (n), will show on-screen dpad/joystick (y) or (n) +# Show on-screen dpad/joystick, that will act as arrow keys (y) or (n) AppNeedsArrowKeys=n +# On-screen dpad/joystick will appear under finger when it touches the screen (y) or (n) +# Joystick always follows finger, so moving mouse requires touching the screen with other finger +FloatingScreenJoystick= + # Application needs text input (y) or (n), enables button for text input on screen AppNeedsTextInput=n # Application uses joystick (y) or (n), the on-screen DPAD will be used as joystick 0 axes 0-1 +# This will disable AppNeedsArrowKeys option AppUsesJoystick=n # Application uses second on-screen joystick, as SDL joystick 0 axes 2-3 (y)/(n) AppUsesSecondJoystick=n +# Application uses third on-screen joystick, as SDL joystick 0 axes 20-21 (y)/(n) +AppUsesThirdJoystick= + # Application uses accelerometer (y) or (n), the accelerometer will be used as joystick 1 axes 0-1 and 5-7 AppUsesAccelerometer=n @@ -186,22 +202,25 @@ RedefinedKeysGamepad="LCTRL LALT LSHIFT RETURN SPACE DELETE KP_PLUS KP_MINUS 1 2 StartupMenuButtonTimeout=3000 # Menu items to hide from startup menu, available menu items: -# SettingsMenu.OkButton SettingsMenu.DummyMenu SettingsMenu.MainMenu SettingsMenuMisc.DownloadConfig SettingsMenuMisc.OptionalDownloadConfig SettingsMenuMisc.AudioConfig SettingsMenuMisc.VideoSettingsConfig SettingsMenuMisc.ShowReadme SettingsMenuMisc.GyroscopeCalibration SettingsMenuMisc.ResetToDefaultsConfig SettingsMenuMouse.MouseConfigMainMenu SettingsMenuMouse.DisplaySizeConfig SettingsMenuMouse.LeftClickConfig SettingsMenuMouse.RightClickConfig SettingsMenuMouse.AdditionalMouseConfig SettingsMenuMouse.JoystickMouseConfig SettingsMenuMouse.TouchPressureMeasurementTool SettingsMenuMouse.CalibrateTouchscreenMenu SettingsMenuKeyboard.KeyboardConfigMainMenu SettingsMenuKeyboard.ScreenKeyboardSizeConfig SettingsMenuKeyboard.ScreenKeyboardDrawSizeConfig SettingsMenuKeyboard.ScreenKeyboardThemeConfig SettingsMenuKeyboard.ScreenKeyboardTransparencyConfig SettingsMenuKeyboard.RemapHwKeysConfig SettingsMenuKeyboard.RemapScreenKbConfig SettingsMenuKeyboard.ScreenGesturesConfig SettingsMenuKeyboard.CustomizeScreenKbLayout +# SettingsMenu.OkButton SettingsMenu.DummyMenu SettingsMenu.MainMenu SettingsMenuMisc.DownloadConfig SettingsMenuMisc.OptionalDownloadConfig SettingsMenuMisc.AudioConfig SettingsMenuMisc.VideoSettingsConfig SettingsMenuMisc.ShowReadme SettingsMenuMisc.GyroscopeCalibration SettingsMenuMisc.ResetToDefaultsConfig SettingsMenuMouse.MouseConfigMainMenu SettingsMenuMouse.DisplaySizeConfig SettingsMenuMouse.LeftClickConfig SettingsMenuMouse.RightClickConfig SettingsMenuMouse.AdditionalMouseConfig SettingsMenuMouse.JoystickMouseConfig SettingsMenuMouse.TouchPressureMeasurementTool SettingsMenuMouse.CalibrateTouchscreenMenu SettingsMenuKeyboard.KeyboardConfigMainMenu SettingsMenuKeyboard.ScreenKeyboardSizeConfig SettingsMenuKeyboard.ScreenKeyboardDrawSizeConfig SettingsMenuKeyboard.ScreenKeyboardThemeConfig SettingsMenuKeyboard.ScreenKeyboardTransparencyConfig SettingsMenuKeyboard.RemapHwKeysConfig SettingsMenuKeyboard.RemapScreenKbConfig SettingsMenuKeyboard.ScreenGesturesConfig SettingsMenuKeyboard.CustomizeScreenKbLayout SettingsMenuKeyboard.ScreenKeyboardAdvanced HiddenMenuOptions='SettingsMenuMisc.OptionalDownloadConfig' # Menu items to show at startup - this is Java code snippet, leave empty for default # new SettingsMenuMisc.ShowReadme(), (AppUsesMouse \&\& \! ForceRelativeMouseMode \? new SettingsMenuMouse.DisplaySizeConfig(true) : new SettingsMenu.DummyMenu()), new SettingsMenuMisc.OptionalDownloadConfig(true), new SettingsMenuMisc.GyroscopeCalibration() # Available menu items: -# SettingsMenu.OkButton SettingsMenu.DummyMenu SettingsMenu.MainMenu SettingsMenuMisc.DownloadConfig SettingsMenuMisc.OptionalDownloadConfig SettingsMenuMisc.AudioConfig SettingsMenuMisc.VideoSettingsConfig SettingsMenuMisc.ShowReadme SettingsMenuMisc.GyroscopeCalibration SettingsMenuMisc.ResetToDefaultsConfig SettingsMenuMouse.MouseConfigMainMenu SettingsMenuMouse.DisplaySizeConfig SettingsMenuMouse.LeftClickConfig SettingsMenuMouse.RightClickConfig SettingsMenuMouse.AdditionalMouseConfig SettingsMenuMouse.JoystickMouseConfig SettingsMenuMouse.TouchPressureMeasurementTool SettingsMenuMouse.CalibrateTouchscreenMenu SettingsMenuKeyboard.KeyboardConfigMainMenu SettingsMenuKeyboard.ScreenKeyboardSizeConfig SettingsMenuKeyboard.ScreenKeyboardDrawSizeConfig SettingsMenuKeyboard.ScreenKeyboardThemeConfig SettingsMenuKeyboard.ScreenKeyboardTransparencyConfig SettingsMenuKeyboard.RemapHwKeysConfig SettingsMenuKeyboard.RemapScreenKbConfig SettingsMenuKeyboard.ScreenGesturesConfig SettingsMenuKeyboard.CustomizeScreenKbLayout +# SettingsMenu.OkButton SettingsMenu.DummyMenu SettingsMenu.MainMenu SettingsMenuMisc.DownloadConfig SettingsMenuMisc.OptionalDownloadConfig SettingsMenuMisc.AudioConfig SettingsMenuMisc.VideoSettingsConfig SettingsMenuMisc.ShowReadme SettingsMenuMisc.GyroscopeCalibration SettingsMenuMisc.ResetToDefaultsConfig SettingsMenuMouse.MouseConfigMainMenu SettingsMenuMouse.DisplaySizeConfig SettingsMenuMouse.LeftClickConfig SettingsMenuMouse.RightClickConfig SettingsMenuMouse.AdditionalMouseConfig SettingsMenuMouse.JoystickMouseConfig SettingsMenuMouse.TouchPressureMeasurementTool SettingsMenuMouse.CalibrateTouchscreenMenu SettingsMenuKeyboard.KeyboardConfigMainMenu SettingsMenuKeyboard.ScreenKeyboardSizeConfig SettingsMenuKeyboard.ScreenKeyboardDrawSizeConfig SettingsMenuKeyboard.ScreenKeyboardThemeConfig SettingsMenuKeyboard.ScreenKeyboardTransparencyConfig SettingsMenuKeyboard.RemapHwKeysConfig SettingsMenuKeyboard.RemapScreenKbConfig SettingsMenuKeyboard.ScreenGesturesConfig SettingsMenuKeyboard.CustomizeScreenKbLayout SettingsMenuKeyboard.ScreenKeyboardAdvanced FirstStartMenuOptions='' -# Enable multi-ABI binary, with hardware FPU support - it will also work on old devices, -# but .apk size is 2x bigger (y) / (n) / (x86) / (all) -MultiABI='armeabi-v7a x86' - # Minimum amount of RAM application requires, in Mb, SDL will print warning to user if it's lower AppMinimumRAM=0 +# GCC version, 4.6 (default) or 4.8, CLANG is not supported yet +NDK_TOOLCHAIN_VERSION= + +# Specify architectures to compile, 'all' or 'y' to compile for all architectures. +# Available architectures: armeabi armeabi-v7a armeabi-v7a-hard x86 mips +MultiABI='armeabi-v7a x86' + # Optional shared libraries to compile - removing some of them will save space # MP3 support by libMAD is encumbered by patents and libMAD is GPL-ed # Available libraries: mad (GPL-ed!) sdl_mixer sdl_image sdl_ttf sdl_net sdl_blitpool sdl_gfx sdl_sound intl xml2 lua jpeg png ogg flac tremor vorbis freetype xerces curl theora fluidsynth lzma lzo2 mikmod openal timidity zzip bzip2 yaml-cpp python boost_date_time boost_filesystem boost_iostreams boost_program_options boost_regex boost_signals boost_system boost_thread glu avcodec avdevice avfilter avformat avresample avutil swscale swresample bzip2 @@ -226,7 +245,7 @@ AppSubdirsBuild='' AppBuildExclude='' # Application command line parameters, including app name as 0-th param -AppCmdline='XSDL -nohelp -screenbuttons -exec $SECURE_STORAGE_DIR/img/proot.sh ./start-gimp.sh' +AppCmdline='XSDL -nohelp -screenbuttons -exec $SECURE_STORAGE_DIR/usr/bin/xli -onroot -border black -center $SECURE_STORAGE_DIR/loading.gif ; $SECURE_STORAGE_DIR/img/proot.sh ./startx.sh' # Screen size is used by Google Play to prevent an app to be installed on devices with smaller screens # Minimum screen size that application supports: (s)mall / (m)edium / (l)arge @@ -238,9 +257,9 @@ AdmobPublisherId=n # Your AdMob test device ID, to receive a test ad AdmobTestDeviceId= -# Your AdMob banner size (BANNER/IAB_BANNER/IAB_LEADERBOARD/IAB_MRECT/IAB_WIDE_SKYSCRAPER/SMART_BANNER) +# Your AdMob banner size (BANNER/FULL_BANNER/LEADERBOARD/MEDIUM_RECTANGLE/SMART_BANNER/WIDE_SKYSCRAPER/FULL_WIDTH:Height/Width:AUTO_HEIGHT/Width:Height) AdmobBannerSize= -# Right mouse button can do long-press/drag&drop action, necessary for some games (y) or (n) -# If you disable it, swiping with two fingers will send mouse wheel events -RightMouseButtonLongPress=n +# Google Play Game Services application ID, required for cloud saves to work +GooglePlayGameServicesId= + diff --git a/project/jni/application/xserver-gimp/AndroidData/data-1.tgz b/project/jni/application/xserver-gimp/AndroidData/data-1.tgz new file mode 120000 index 000000000..2a2d243ac --- /dev/null +++ b/project/jni/application/xserver-gimp/AndroidData/data-1.tgz @@ -0,0 +1 @@ +../xserver/data/data-1.tgz \ No newline at end of file diff --git a/project/jni/application/xserver-gimp/AndroidData/postinstall2.sh b/project/jni/application/xserver-gimp/AndroidData/postinstall2.sh new file mode 120000 index 000000000..ac797f4fb --- /dev/null +++ b/project/jni/application/xserver-gimp/AndroidData/postinstall2.sh @@ -0,0 +1 @@ +../../xserver-debian/AndroidData/postinstall2.sh \ No newline at end of file diff --git a/project/jni/application/xserver-gimp/AndroidData/update4.tgz b/project/jni/application/xserver-gimp/AndroidData/update4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..a61317ba5c99c22d18fd99212329b48b6d77ca0e GIT binary patch literal 20643 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 literal 0 HcmV?d00001 diff --git a/project/jni/application/xserver-gimp/xserver b/project/jni/application/xserver-gimp/xserver index 3cce1acc1..ce2611df1 160000 --- a/project/jni/application/xserver-gimp/xserver +++ b/project/jni/application/xserver-gimp/xserver @@ -1 +1 @@ -Subproject commit 3cce1acc1f943ded8491e1be814aebfce6e09023 +Subproject commit ce2611df1142b98a00ed261be30791f98e716d5b diff --git a/project/jni/application/xserver/gfx.c b/project/jni/application/xserver/gfx.c index 77b4389a0..98160d621 100644 --- a/project/jni/application/xserver/gfx.c +++ b/project/jni/application/xserver/gfx.c @@ -660,7 +660,7 @@ void XSDL_generateBackground(const char * port, int showHelp, int resolutionW, i void XSDL_showServerLaunchErrorMessage() { showErrorMessage( "Error: X server failed to launch.\n\n" - "this may happen because of SELinux,\n" + "This may happen because of SELinux,\n" "or because installation was corrupted.\n" "Either way, this app will not work, which is sad."); }