From 2ca73b1d5c718326c81598a9c6c26950b5ae1f0b Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Mon, 22 Oct 2012 02:32:33 -0400
Subject: [PATCH] Fix HTML part detection in messages with attachments (#1488769)

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

diff --git a/CHANGELOG b/CHANGELOG
index 53e0af8..84825eb 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,7 @@
 CHANGELOG Roundcube Webmail
 ===========================
 
+- Fix HTML part detection in messages with attachments (#1488769)
 - Fix bug where wrong words were highlighted on spell-before-send check
 - Fix scrolling quirk in email preview frame using Opera 12 (#1488763)
 - Fix displaying of multipart/alternative messages with empty parts (#1488750)
diff --git a/program/include/rcube_message.php b/program/include/rcube_message.php
index 60e79cb..683a395 100644
--- a/program/include/rcube_message.php
+++ b/program/include/rcube_message.php
@@ -211,7 +211,18 @@
                     // HTML part can be on the lower level, if not...
                     if (count($level) > 1) {
                         // It can be an alternative or related message part
-                        $parent = $this->mime_parts[0];
+                        // find parent part
+                        $parent = null;
+                        foreach ($this->mime_parts as $part) {
+                            if ($part->mime_id == $level[0]) {
+                                $parent = $part;
+                            }
+                        }
+
+                        if (!$parent) {
+                            continue;
+                        }
+
                         if ($parent->mimetype != 'multipart/alternative' && $parent->mimetype != 'multipart/related') {
                             continue;
                         }

--
Gitblit v1.9.1