The default bug view has changed. See this FAQ.

Thunderbird builds are broken due to nsIDOMHTMLElement update

RESOLVED FIXED in Thunderbird 16.0

Status

MailNews Core
Import
--
blocker
RESOLVED FIXED
5 years ago
5 years ago

People

(Reporter: jcranmer, Assigned: Bienvenu)

Tracking

Trunk
Thunderbird 16.0
All
Windows 7
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Reporter)

Description

5 years ago
<https://hg.mozilla.org/mozilla-central/rev/28dd33748be5> updated the interface to nsIDOMHTMLElement, which means eudora and outlook importers are no busted.

We really need to find some way to avoid getting busted whenever people update DOM interfaces.

Updated

5 years ago
Depends on: 684466
Here's the error message from one of our OSX builders:

Undefined symbols for architecture i386:
  "nsEudoraHTMLImageElement::GetItemType(nsIVariant**)", referenced from:
      vtable for nsEudoraHTMLImageElementin nsEudoraEditor.o
  "nsEudoraHTMLImageElement::SetItemId(nsAString_internal const&)", referenced from:
      vtable for nsEudoraHTMLImageElementin nsEudoraEditor.o
  "nsEudoraHTMLImageElement::SetItemProp(nsIVariant*)", referenced from:
      vtable for nsEudoraHTMLImageElementin nsEudoraEditor.o
  "nsEudoraHTMLImageElement::GetItemValue(nsIVariant**)", referenced from:
      vtable for nsEudoraHTMLImageElementin nsEudoraEditor.o
  "nsEudoraHTMLImageElement::SetItemType(nsIVariant*)", referenced from:
      vtable for nsEudoraHTMLImageElementin nsEudoraEditor.o
  "nsEudoraHTMLImageElement::GetItemRef(nsIVariant**)", referenced from:
      vtable for nsEudoraHTMLImageElementin nsEudoraEditor.o
  "nsEudoraHTMLImageElement::GetItemId(nsAString_internal&)", referenced from:
      vtable for nsEudoraHTMLImageElementin nsEudoraEditor.o
  "nsEudoraHTMLImageElement::GetProperties(nsIDOMHTMLPropertiesCollection**)", referenced from:
      vtable for nsEudoraHTMLImageElementin nsEudoraEditor.o
  "nsEudoraHTMLImageElement::SetItemValue(nsIVariant*)", referenced from:
      vtable for nsEudoraHTMLImageElementin nsEudoraEditor.o
  "nsEudoraHTMLImageElement::GetItemProp(nsIVariant**)", referenced from:
      vtable for nsEudoraHTMLImageElementin nsEudoraEditor.o
  "nsEudoraHTMLImageElement::SetItemScope(bool)", referenced from:
      vtable for nsEudoraHTMLImageElementin nsEudoraEditor.o
  "nsEudoraHTMLImageElement::GetItemScope(bool*)", referenced from:
      vtable for nsEudoraHTMLImageElementin nsEudoraEditor.o
  "nsEudoraHTMLImageElement::SetItemRef(nsIVariant*)", referenced from:
      vtable for nsEudoraHTMLImageElementin nsEudoraEditor.o
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status
make[7]: *** [XUL] Error 1
make[6]: *** [libs_tier_platform] Error 2
make[5]: *** [tier_platform] Error 2
make[4]: *** [default] Error 2
make[3]: *** [default] Error 2
make[2]: *** [build] Error 2
make[1]: *** [build] Error 2
make: *** [build] Error 2
program finished with exit code 2
So for nsEudoraHTMLImageElement and nsOutlookHTMLImageElement...is the play to just stub out those missing methods with NS_ERROR_NOT_IMPLEMENTED?
Assignee: nobody → dbienvenu
(Assignee)

Comment 3

5 years ago
yes, like all the other methods. I'll have a whack at it.
(Assignee)

Comment 4

5 years ago
Created attachment 630298 [details] [diff] [review]
probable fix

this is probably what I'll land - just waiting for my build to finish to make sure it builds.
I can confirm that this successfully builds on Windows 7.
(Assignee)

Comment 6

5 years ago
http://hg.mozilla.org/comm-central/rev/2c6b820cbf13

hey, I got rid of the nsIEditor dependency :-) I'll go back and see if there's some way we can deal with the fake dom element classes.
Status: NEW → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → Thunderbird 16.0
(Assignee)

Comment 7

5 years ago
My suggestion for getting rid of the import dependency on nsIDOMNode and related classes would be to augment the code the processes the editor embedded object list (nsMsgComposeAndSend::GetMultipartRelatedCount and nsMsgComposeAndSend::ProcessMultipartRelated) to handle nsIMsgAttachmentData objects as well as nsIDomNodes, and have the import code create nsMsgAttachmentData objects. (I may not have the interface/class names exactly right, but the idea is to use our own interfaces/objects.)

I'll file a bug to do so, and maybe have a quick whack at it.
You need to log in before you can comment on or make changes to this bug.