aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.travis.yml90
-rw-r--r--README.md2
-rw-r--r--project/BuildDependencies/scripts/0_package.list2
-rw-r--r--system/keyboardlayouts/french.xml22
-rw-r--r--tools/depends/native/TexturePacker/src/decoder/GifHelper.cpp22
-rw-r--r--xbmc/guilib/GUIListContainer.cpp1
-rw-r--r--xbmc/input/InputManager.cpp5
-rw-r--r--xbmc/input/KeyboardStat.cpp2
8 files changed, 118 insertions, 28 deletions
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000000..accdd271bb
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,90 @@
+# Kodi's travis-ci.org integration file
+
+# NOTES:
+# The travis-ci Gods have environmental concerns with verbosity and clang/xcode builds.
+# A nice message is presented in such cases:
+# "The log length has exceeded the limit of 4 MB (this usually means that the test suite is raising the
+# same exception over and over). The job has been terminated"
+#
+# travis-ci has a problem with python 2.7 (see https://github.com/travis-ci/travis-ci/issues/4948) so we mark
+# used language as 'generic' to work around it
+
+# TODO:
+# integrate with slack
+# make it perfect... or not ;-r
+
+
+language: generic
+# - cpp
+# - python
+
+# python:
+# - "2.7"
+
+# Define the build matrix
+#
+# Travis defaults to building on Ubuntu Precise when building on Linux. We need Trusty in order to get up
+# to date versions of cmake and g++.
+#
+matrix:
+ fast_finish: true
+ include:
+ - os: linux
+ dist: trusty
+ sudo: required
+ compiler: gcc
+
+# Prepare system
+#
+# Prepare the system to install prerequisites or dependencies
+#
+before_install:
+
+# Linux
+#
+# Install team-xbmc/xbmc-ppa-build-depends for some dependencies and ppa:wsnipex/vaapi for libda-dev 1.6.0.
+# Stupid libda-dev 1.3.0 does not work on Trusty.
+#
+ - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
+ sudo add-apt-repository -y ppa:team-xbmc/xbmc-ppa-build-depends
+ && sudo add-apt-repository -y ppa:wsnipex/vaapi
+ && sudo apt-get update -qq; fi
+
+# Install dependencies
+#
+# Install any prerequisites or dependencies necessary to run our builds
+#
+install:
+
+# Linux dependencies
+#
+ - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
+ sudo apt-get install -qq automake autopoint build-essential cmake curl dcadec-dev default-jre gawk gdc
+ gettext git-core gperf libasound2-dev libass-dev libboost-dev libboost-thread-dev libbz2-dev libcap-dev libcdio-dev
+ libcrossguid-dev libcurl3 libcurl4-openssl-dev libdbus-1-dev libfontconfig-dev libegl1-mesa-dev libfreetype6-dev
+ libfribidi-dev libgif-dev libglew-dev libiso9660-dev libjasper-dev libjpeg-dev libltdl-dev liblzo2-dev
+ libmicrohttpd-dev libmodplug-dev libmpeg2-4-dev libmpeg3-dev libmysqlclient-dev libnfs-dev libogg-dev libpcre3-dev
+ libplist-dev libpng-dev libpulse-dev libsdl2-dev libsmbclient-dev libsqlite3-dev libssh-dev libssl-dev libtiff-dev
+ libtag1-dev libtinyxml-dev libtool libudev-dev libusb-dev libva-dev libvdpau-dev libvorbis-dev libvorbisenc2
+ libxml2-dev libxmu-dev libxrandr-dev libxrender-dev libxslt1-dev libxt-dev libyajl-dev mesa-utils nasm pmount
+ python-dev python-imaging python-sqlite swig unzip uuid-dev yasm zip zlib1g-dev; fi
+
+# Prepare builds
+#
+before_script:
+
+# Linux
+#
+ - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
+ cd $TRAVIS_BUILD_DIR/
+ && ./bootstrap
+ && ./configure; fi
+
+# Actually build
+#
+script: make -j3
+
+# Disable annoying emails
+#
+notifications:
+ email: false
diff --git a/README.md b/README.md
index ab4112b4f8..b556b16254 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,5 @@
+[![Build Status](https://travis-ci.org/xbmc/xbmc.svg?branch=Jarvis)](https://travis-ci.org/xbmc/xbmc)
+
#### About
Kodi is an award-winning free and open source (GPL) software media player and
diff --git a/project/BuildDependencies/scripts/0_package.list b/project/BuildDependencies/scripts/0_package.list
index 4ce1934db7..fbb76ab8c3 100644
--- a/project/BuildDependencies/scripts/0_package.list
+++ b/project/BuildDependencies/scripts/0_package.list
@@ -49,5 +49,5 @@ python-2.7.8-win32.7z
sqlite-3.8.6-win32-vc120.7z
swig-2.0.7-win32-1.7z
taglib-1.9.1-patched-win32-vc120.7z
-texturepacker-1.0.5-win32.7z
+texturepacker-1.0.6-win32.7z
tinyxml-2.6.2_3-win32-vc120.7z
diff --git a/system/keyboardlayouts/french.xml b/system/keyboardlayouts/french.xml
index 3269e9da66..630ec32878 100644
--- a/system/keyboardlayouts/french.xml
+++ b/system/keyboardlayouts/french.xml
@@ -8,20 +8,20 @@ Default font lacks support for all characters
<keyboard>
<row>1234567890°+</row>
<row>azertyuiop^$</row>
- <row>qsdfghjklmú*</row>
- <row>wxcvbn,;:!</row>
+ <row>qsdfghjklmù*</row>
+ <row>&lt;wxcvbn,;:!&amp;</row>
</keyboard>
<keyboard modifiers="shift">
- <row>1234567890</row>
- <row>AZERTYUIOP</row>
- <row>QSDFGHJKLM</row>
- <row>WXCVBN?./</row>
+ <row>1234567890@=</row>
+ <row>AZERTYUIOP¨£</row>
+ <row>QSDFGHJKLM%µ</row>
+ <row>&gt;WXCVBN?./§²</row>
</keyboard>
<keyboard modifiers="symbol,shift+symbol">
- <row>)!@#ۤ$%^&amp;*(</row>
- <row>[]{}-_=+;:μ</row>
- <row>'",.&lt;&gt;/?\|</row>
- <row>`~éèáàúùç</row>
+ <row>()[]{}~&quot;&apos;`-_</row>
+ <row>#|\€¤ÆŒæœüÜÙ</row>
+ <row>àâçéèêëîïôöû</row>
+ <row>ÀÂÇÉÈÊËÎÏÔÖÛ</row>
</keyboard>
</layout>
-</keyboardlayouts>
+</keyboardlayouts> \ No newline at end of file
diff --git a/tools/depends/native/TexturePacker/src/decoder/GifHelper.cpp b/tools/depends/native/TexturePacker/src/decoder/GifHelper.cpp
index d629844399..500d117efd 100644
--- a/tools/depends/native/TexturePacker/src/decoder/GifHelper.cpp
+++ b/tools/depends/native/TexturePacker/src/decoder/GifHelper.cpp
@@ -263,28 +263,19 @@ bool GifHelper::GcbToFrame(GifFrame &frame, unsigned int imgIdx)
{
#if GIFLIB_MAJOR == 5
GraphicsControlBlock gcb;
- if (!DGifSavedExtensionToGCB(m_gif, imgIdx, &gcb))
+ if (DGifSavedExtensionToGCB(m_gif, imgIdx, &gcb))
{
- fprintf(stderr, "Gif::GcbToFrame(): Could not read GraphicsControlBlock of frame %d in file %s\n",
- imgIdx, m_filename.c_str()), GifErrorString(m_gif->Error);
- return false;
+ // delay in ms
+ frame.m_delay = gcb.DelayTime * 10;
+ frame.m_disposal = gcb.DisposalMode;
+ transparent = gcb.TransparentColor;
}
- // delay in ms
- frame.m_delay = gcb.DelayTime * 10;
- frame.m_disposal = gcb.DisposalMode;
- transparent = gcb.TransparentColor;
#else
ExtensionBlock* extb = m_gif->SavedImages[imgIdx].ExtensionBlocks;
while (extb && extb->Function != GRAPHICS_EXT_FUNC_CODE)
extb++;
- if (!extb || extb->ByteCount != 4)
- {
- fprintf(stderr, "Gif::GcbToFrame() : Could not read GraphicsControlBlock of frame %d in file %s\n",
- imgIdx, m_filename.c_str());
- return false;
- }
- else
+ if (extb && extb->ByteCount == 4)
{
uint8_t low = static_cast<uint8_t>(extb->Bytes[1]);
uint8_t high = static_cast<uint8_t>(extb->Bytes[2]);
@@ -297,7 +288,6 @@ bool GifHelper::GcbToFrame(GifFrame &frame, unsigned int imgIdx)
else
transparent = -1;
}
-
#endif
}
diff --git a/xbmc/guilib/GUIListContainer.cpp b/xbmc/guilib/GUIListContainer.cpp
index cf2b63ad98..caf8a80714 100644
--- a/xbmc/guilib/GUIListContainer.cpp
+++ b/xbmc/guilib/GUIListContainer.cpp
@@ -117,6 +117,7 @@ bool CGUIListContainer::OnMessage(CGUIMessage& message)
{
SetCursor(0);
SetOffset(0);
+ m_scroller.SetValue(0);
}
}
return CGUIBaseContainer::OnMessage(message);
diff --git a/xbmc/input/InputManager.cpp b/xbmc/input/InputManager.cpp
index 3345a3d906..582ab35b2b 100644
--- a/xbmc/input/InputManager.cpp
+++ b/xbmc/input/InputManager.cpp
@@ -459,6 +459,11 @@ bool CInputManager::OnEvent(XBMC_Event& newEvent)
{
case XBMC_KEYDOWN:
{
+ if (m_LastKey.GetButtonCode() & CKey::MODIFIER_LONG)
+ {
+ // Do not repeat long presses
+ break;
+ }
m_Keyboard.ProcessKeyDown(newEvent.key.keysym);
CKey key = m_Keyboard.TranslateKey(newEvent.key.keysym);
if (!CButtonTranslator::GetInstance().HasLonpressMapping(g_windowManager.GetActiveWindowID(), key))
diff --git a/xbmc/input/KeyboardStat.cpp b/xbmc/input/KeyboardStat.cpp
index f90973a73d..1f2c3d8cff 100644
--- a/xbmc/input/KeyboardStat.cpp
+++ b/xbmc/input/KeyboardStat.cpp
@@ -219,6 +219,8 @@ std::string CKeyboardStat::GetKeyName(int KeyID)
keyname.append("win-");
if (KeyID & CKey::MODIFIER_META)
keyname.append("meta-");
+ if (KeyID & CKey::MODIFIER_LONG)
+ keyname.append("long-");
// Now get the key name