From 13fddc3974c43a88de9d26354d94b7ecd5429903 Mon Sep 17 00:00:00 2001
From: Scott Wheeler <wheeler@kde.org>
Date: Tue, 26 Aug 2008 12:19:47 +0000
Subject: [PATCH] Don't try to access the string list if the item type is a
 locator.

Allan, does this look correct?  (It at least fixes the crash...)

BUG:169810
CCMAIL:kde@carewolf.com


git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@852712 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
---
 taglib/ape/apeitem.cpp | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/taglib/ape/apeitem.cpp b/taglib/ape/apeitem.cpp
index a6fe31b9..77a9ca01 100644
--- a/taglib/ape/apeitem.cpp
+++ b/taglib/ape/apeitem.cpp
@@ -160,14 +160,14 @@ String APE::Item::toString() const
 bool APE::Item::isEmpty() const
 {
   switch(d->type) {
-    case 0:
-    case 1:
+    case Text:
+    case Binary:
       if(d->text.isEmpty())
         return true;
       if(d->text.size() == 1 && d->text.front().isEmpty())
         return true;
       return false;
-    case 2:
+    case Locator:
       return d->value.isEmpty();
     default:
       return false;
@@ -206,8 +206,9 @@ ByteVector APE::Item::render() const
   if(isEmpty())
     return data;
 
-  if(d->type != Item::Binary) {
+  if(d->type == Text) {
     StringList::ConstIterator it = d->text.begin();
+
     value.append(it->data(String::UTF8));
     it++;
     for(; it != d->text.end(); ++it) {