From e730cd248dae97e84c193437b4f129ef9a5fd0f6 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Wed, 07 Sep 2011 08:31:52 -0400
Subject: [PATCH] - Fix displaying multipart/alternative messages with only one part (#1487938)

---
 CHANGELOG                         |    1 +
 program/include/rcube_message.php |    6 ++++--
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index 7a89731..2009c7e 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,7 @@
 CHANGELOG Roundcube Webmail
 ===========================
 
+- Fix displaying multipart/alternative messages with only one part (#1487938)
 - Rewritten messages caching:
   Indexes are stored in a separate table, so there's no need to store all messages in a folder
   Added threads data caching
diff --git a/program/include/rcube_message.php b/program/include/rcube_message.php
index 2ec386c..af6c61c 100644
--- a/program/include/rcube_message.php
+++ b/program/include/rcube_message.php
@@ -299,8 +299,10 @@
             $structure->type = 'content';
             $this->parts[] = &$structure;
         }
-        // message contains alternative parts
-        else if ($mimetype == 'multipart/alternative' && is_array($structure->parts)) {
+        // message contains (more than one!) alternative parts
+        else if ($mimetype == 'multipart/alternative'
+            && is_array($structure->parts) && count($structure->parts) > 1
+        ) {
             // get html/plaintext parts
             $plain_part = $html_part = $print_part = $related_part = null;
 

--
Gitblit v1.9.1