From: rsjtdrjgfuzkfg Date: Mon, 8 Oct 2012 17:18:20 +0000 (+0200) Subject: Restrict url frame generation to W??? Frames to prevent known non-text non-url frameI... X-Git-Tag: v1.9~84^2~2^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c8994ede3fdc8569a59b3482acbc797186e72d00;p=taglib Restrict url frame generation to W??? Frames to prevent known non-text non-url frameIDs to be handled as url when containing only one String. No longer describe the default comment as "COMMENT". --- diff --git a/taglib/mpeg/id3v2/id3v2frame.cpp b/taglib/mpeg/id3v2/id3v2frame.cpp index 3a5463f5..e6d01bdb 100644 --- a/taglib/mpeg/id3v2/id3v2frame.cpp +++ b/taglib/mpeg/id3v2/id3v2frame.cpp @@ -119,7 +119,7 @@ Frame *Frame::createTextualFrame(const String &key, const StringList &values) // TextIdentificationFrame *frame = new TextIdentificationFrame(frameID, String::UTF8); frame->setText(values); return frame; - } else if(values.size() == 1){ // URL frame (not WXXX); support only one value + } else if((frameID[0] == 'W') && (values.size() == 1)){ // URL frame (not WXXX); support only one value UrlLinkFrame* frame = new UrlLinkFrame(frameID); frame->setUrl(values.front()); return frame; @@ -143,7 +143,9 @@ Frame *Frame::createTextualFrame(const String &key, const StringList &values) // // -COMMENT: depending on the number of values, use COMM or TXXX (with description=COMMENT) if((key == "COMMENT" || key.startsWith(commentPrefix)) && values.size() == 1){ CommentsFrame *frame = new CommentsFrame(String::UTF8); - frame->setDescription(key == "COMMENT" ? key : key.substr(commentPrefix.size())); + if (key != "COMMENT"){ + frame->setDescription(key.substr(commentPrefix.size())); + } frame->setText(values.front()); return frame; }