aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile.am6
-rw-r--r--NEWS13
-rw-r--r--src/fs/io/FileOutputStream.cxx2
-rw-r--r--src/tag/TagBuilder.cxx11
4 files changed, 23 insertions, 9 deletions
diff --git a/Makefile.am b/Makefile.am
index 1743c48f4..1f263e6d5 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -29,8 +29,6 @@ noinst_LIBRARIES = \
libmixer_plugins.a \
liboutput_plugins.a
-libmpd_a_DEPENDENCIES =
-
libmpd_a_CPPFLAGS = $(AM_CPPFLAGS) \
$(LIBMPDCLIENT_CFLAGS) \
$(AVAHI_CFLAGS) \
@@ -289,13 +287,13 @@ android/build/build.xml: android/AndroidManifest.xml
ln -s $(abs_srcdir)/android/res/values $(abs_srcdir)/android/res/layout android/build/res
$(ANDROID_SDK)/tools/android update project --path android/build --target android-17 --name $(APK_NAME)
-android/build/bin/classes/org/musicpd/Bridge.class: android/src/Bridge.java android/build/build.xml
+android/build/bin/classes/org/musicpd/Bridge.class: android/src/Bridge.java android/build/build.xml android/build/res/drawable/icon.png
cd android/build && ant compile-jni-classes
android/build/include/org_musicpd_Bridge.h: android/build/bin/classes/org/musicpd/Bridge.class
javah -classpath $(ANDROID_SDK)/platforms/android-17/android.jar:android/build/bin/classes -d $(@D) org.musicpd.Bridge
-libmpd_a_DEPENDENCIES += android/build/include/org_musicpd_Bridge.h
+BUILT_SOURCES = android/build/include/org_musicpd_Bridge.h
android/build/libs/armeabi-v7a/libmpd.so: libmpd.so android/build/build.xml
mkdir -p $(@D)
diff --git a/NEWS b/NEWS
index 4e171f488..553a9d411 100644
--- a/NEWS
+++ b/NEWS
@@ -28,12 +28,17 @@ ver 0.20 (not yet released)
* database
- proxy: add TCP keepalive option
-ver 0.19.9 (not yet released)
+ver 0.19.9 (2015/02/06)
* decoder
- dsdiff, dsf: raise ID3 tag limit to 1 MB
+* playlist: fix loading duplicate tag types from state file
+* despotify: remove defunct plugin
* fix clock integer overflow on OS X
+* fix gcc 5.0 warnings
* fix build failure with uClibc
* fix build failure on non-POSIX operating systems
+* fix dependency issue on parallel Android build
+* fix database/state file saving on Windows
ver 0.19.8 (2015/01/14)
* input
@@ -208,12 +213,12 @@ ver 0.19 (2014/10/10)
* install systemd unit for socket activation
* Android port
-ver 0.18.23 (not yet released)
+ver 0.18.23 (2015/02/06)
* despotify: remove defunct plugin
+* fix clock integer overflow on OS X
* fix gcc 5.0 warnings
-
-ver 0.18.22 (2014/01/14)
+ver 0.18.22 (2015/01/14)
* fix clang 3.6 warnings
ver 0.18.21 (2014/12/17)
diff --git a/src/fs/io/FileOutputStream.cxx b/src/fs/io/FileOutputStream.cxx
index 11b5b2351..40dadf310 100644
--- a/src/fs/io/FileOutputStream.cxx
+++ b/src/fs/io/FileOutputStream.cxx
@@ -73,6 +73,7 @@ FileOutputStream::Commit(gcc_unused Error &error)
assert(IsDefined());
CloseHandle(handle);
+ handle = INVALID_HANDLE_VALUE;
return true;
}
@@ -82,6 +83,7 @@ FileOutputStream::Cancel()
assert(IsDefined());
CloseHandle(handle);
+ handle = INVALID_HANDLE_VALUE;
RemoveFile(path);
}
diff --git a/src/tag/TagBuilder.cxx b/src/tag/TagBuilder.cxx
index 46024b44c..42e11e798 100644
--- a/src/tag/TagBuilder.cxx
+++ b/src/tag/TagBuilder.cxx
@@ -25,6 +25,8 @@
#include "Tag.hxx"
#include "util/WritableBuffer.hxx"
+#include <array>
+
#include <assert.h>
#include <string.h>
#include <stdlib.h>
@@ -168,12 +170,19 @@ TagBuilder::Complement(const Tag &other)
has_playlist |= other.has_playlist;
+ /* build a table of tag types that were already present in
+ this object, which will not be copied from #other */
+ std::array<bool, TAG_NUM_OF_ITEM_TYPES> present;
+ present.fill(false);
+ for (const TagItem *i : items)
+ present[i->type] = true;
+
items.reserve(items.size() + other.num_items);
tag_pool_lock.lock();
for (unsigned i = 0, n = other.num_items; i != n; ++i) {
TagItem *item = other.items[i];
- if (!HasType(item->type))
+ if (!present[item->type])
items.push_back(tag_pool_dup_item(item));
}
tag_pool_lock.unlock();