]> git.saurik.com Git - wxWidgets.git/blobdiff - src/richtext/richtextbuffer.cpp
Small fixes after wxHtmlTagHandler::GetParser() addition.
[wxWidgets.git] / src / richtext / richtextbuffer.cpp
index 8a4b4929f643c0313ca79878c8925fbed60b9d96..1a6186778fb4eb69460db7737a46689942ea6c5b 100644 (file)
@@ -1447,7 +1447,6 @@ bool wxRichTextCompositeObject::Defragment(wxRichTextDrawingContext& context, co
                 if (node->GetNext())
                 {
                     wxRichTextObject* nextChild = node->GetNext()->GetData();
-                    wxRichTextObjectList::compatibility_iterator nextNode = node->GetNext();
                     
                     // First split child and nextChild so we have smaller fragments to merge.
                     // Then Merge only has to test per-object virtual attributes
@@ -3319,7 +3318,17 @@ bool wxRichTextParagraphLayoutBox::SetStyle(const wxRichTextRange& range, const
                             wxRichTextRemoveStyle(child->GetAttributes(), style);
                         }
                         else if (resetExistingStyle)
+                        {
+                            // Preserve the URL as it's not really a formatting style but a property of the object
+                            wxString url;
+                            if (child->GetAttributes().HasURL() && !characterAttributes.HasURL())
+                                url = child->GetAttributes().GetURL();
+
                             child->GetAttributes() = characterAttributes;
+
+                            if (!url.IsEmpty())
+                                child->GetAttributes().SetURL(url);
+                        }
                         else
                         {
                             if (applyMinimal)