Closed Bug 6792 Opened 25 years ago Closed 25 years ago

There are compilation ERRORS on Motif

Categories

(Core :: XUL, enhancement, P5)

x86
Linux
enhancement

Tracking

()

VERIFIED FIXED

People

(Reporter: zuperdee, Assigned: zuperdee)

Details

When I try to compile the 5/20/1999 CVS source of Mozilla for the Motif toolkit (against Lesstif 0.88.1 here on Red Hat Linux 6.0), I get the following compiler errors: nsMotifWidgetFactory.cpp: In method `nsresult nsWidgetFactory::CreateInstance(cl ass nsISupports *, const struct nsIID &, void **)': nsMotifWidgetFactory.cpp:158: cannot allocate an object of type `nsWindow' nsMotifWidgetFactory.cpp:158: since the following virtual functions are abstra ct: nsMotifWidgetFactory.cpp:158: nsresult nsIWidget::AddMenuListener(class nsIMen uListener *) nsMotifWidgetFactory.cpp:158: nsresult nsIWidget::SetVerticalScrollbar(class n sIWidget *) nsMotifWidgetFactory.cpp:158: nsresult nsIWidget::EnableFileDrop(PRBool) nsMotifWidgetFactory.cpp:161: cannot allocate an object of type `nsCheckButton' nsMotifWidgetFactory.cpp:161: since the following virtual functions are abstra ct: nsMotifWidgetFactory.cpp:161: nsresult nsIWidget::AddMenuListener(class nsIMen uListener *) nsMotifWidgetFactory.cpp:161: nsresult nsIWidget::SetVerticalScrollbar(class n sIWidget *) nsMotifWidgetFactory.cpp:161: nsresult nsIWidget::EnableFileDrop(PRBool) nsMotifWidgetFactory.cpp:164: cannot allocate an object of type `nsButton' nsMotifWidgetFactory.cpp:164: since the following virtual functions are abstra ct: nsMotifWidgetFactory.cpp:164: nsresult nsIWidget::AddMenuListener(class nsIMen uListener *) nsMotifWidgetFactory.cpp:164: nsresult nsIWidget::SetVerticalScrollbar(class n sIWidget *) nsMotifWidgetFactory.cpp:164: nsresult nsIWidget::EnableFileDrop(PRBool) nsMotifWidgetFactory.cpp:167: cannot allocate an object of type `nsScrollbar' nsMotifWidgetFactory.cpp:167: since the following virtual functions are abstra ct: nsMotifWidgetFactory.cpp:167: nsresult nsIWidget::AddMenuListener(class nsIMen uListener *) nsMotifWidgetFactory.cpp:167: nsresult nsIWidget::SetVerticalScrollbar(class n sIWidget *) nsMotifWidgetFactory.cpp:167: nsresult nsIWidget::EnableFileDrop(PRBool) nsMotifWidgetFactory.cpp:170: cannot allocate an object of type `nsScrollbar' nsMotifWidgetFactory.cpp:170: since type `nsScrollbar' has abstract virtual fu nctions nsMotifWidgetFactory.cpp:173: cannot allocate an object of type `nsTextWidget' nsMotifWidgetFactory.cpp:173: since the following virtual functions are abstra ct: nsMotifWidgetFactory.cpp:173: nsresult nsIWidget::AddMenuListener(class nsIMen uListener *) nsMotifWidgetFactory.cpp:173: nsresult nsIWidget::SetVerticalScrollbar(class n sIWidget *) nsMotifWidgetFactory.cpp:173: nsresult nsIWidget::EnableFileDrop(PRBool) nsMotifWidgetFactory.cpp:176: cannot allocate an object of type `nsTextAreaWidge t' nsMotifWidgetFactory.cpp:176: since the following virtual functions are abstra ct: nsMotifWidgetFactory.cpp:176: nsresult nsIWidget::AddMenuListener(class nsIMen uListener *) nsMotifWidgetFactory.cpp:176: nsresult nsIWidget::SetVerticalScrollbar(class n sIWidget *) nsMotifWidgetFactory.cpp:176: nsresult nsIWidget::EnableFileDrop(PRBool) nsMotifWidgetFactory.cpp:179: cannot allocate an object of type `nsRadioButton' nsMotifWidgetFactory.cpp:179: since the following virtual functions are abstra ct: nsMotifWidgetFactory.cpp:179: nsresult nsIWidget::AddMenuListener(class nsIMen uListener *) nsMotifWidgetFactory.cpp:179: nsresult nsIWidget::SetVerticalScrollbar(class n sIWidget *) nsMotifWidgetFactory.cpp:179: nsresult nsIWidget::EnableFileDrop(PRBool) nsMotifWidgetFactory.cpp:182: cannot allocate an object of type `nsListBox' nsMotifWidgetFactory.cpp:182: since the following virtual functions are abstra ct: nsMotifWidgetFactory.cpp:182: nsresult nsIWidget::AddMenuListener(class nsIMen uListener *) nsMotifWidgetFactory.cpp:182: nsresult nsIWidget::SetVerticalScrollbar(class n sIWidget *) nsMotifWidgetFactory.cpp:182: nsresult nsIWidget::EnableFileDrop(PRBool) nsMotifWidgetFactory.cpp:185: cannot allocate an object of type `nsComboBox' nsMotifWidgetFactory.cpp:185: since the following virtual functions are abstra ct: nsMotifWidgetFactory.cpp:185: nsresult nsIWidget::AddMenuListener(class nsIMen uListener *) nsMotifWidgetFactory.cpp:185: nsresult nsIWidget::SetVerticalScrollbar(class n sIWidget *) nsMotifWidgetFactory.cpp:185: nsresult nsIWidget::EnableFileDrop(PRBool) nsMotifWidgetFactory.cpp:188: cannot allocate an object of type `nsFileWidget' nsMotifWidgetFactory.cpp:188: since the following virtual functions are abstra ct: nsMotifWidgetFactory.cpp:188: nsresult nsIFileWidget::SetDisplayDirectory(cons t class nsFileSpec &) nsMotifWidgetFactory.cpp:188: nsresult nsIFileWidget::GetDisplayDirectory(clas s nsFileSpec &) nsMotifWidgetFactory.cpp:188: enum nsFileDlgResults nsIFileWidget::GetFile(cla ss nsIWidget *, const class nsString &, class nsFileSpec &) nsMotifWidgetFactory.cpp:188: enum nsFileDlgResults nsIFileWidget::GetFolder(c lass nsIWidget *, const class nsString &, class nsFileSpec &) nsMotifWidgetFactory.cpp:188: enum nsFileDlgResults nsIFileWidget::PutFile(cla ss nsIWidget *, const class nsString &, class nsFileSpec &) nsMotifWidgetFactory.cpp:188: nsresult nsIWidget::AddMenuListener(class nsIMen uListener *) nsMotifWidgetFactory.cpp:188: nsresult nsIWidget::SetVerticalScrollbar(class n sIWidget *) nsMotifWidgetFactory.cpp:188: nsresult nsIWidget::EnableFileDrop(PRBool) nsMotifWidgetFactory.cpp:191: cannot allocate an object of type `nsWindow' nsMotifWidgetFactory.cpp:191: since type `nsWindow' has abstract virtual funct ions nsMotifWidgetFactory.cpp:194: cannot allocate an object of type `ChildWindow' nsMotifWidgetFactory.cpp:194: since the following virtual functions are abstra ct: nsMotifWidgetFactory.cpp:194: nsresult nsIWidget::AddMenuListener(class nsIMen uListener *) nsMotifWidgetFactory.cpp:194: nsresult nsIWidget::SetVerticalScrollbar(class n sIWidget *) nsMotifWidgetFactory.cpp:194: nsresult nsIWidget::EnableFileDrop(PRBool) nsMotifWidgetFactory.cpp:197: cannot allocate an object of type `nsDialog' nsMotifWidgetFactory.cpp:197: since the following virtual functions are abstra ct: nsMotifWidgetFactory.cpp:197: nsresult nsIWidget::AddMenuListener(class nsIMen uListener *) nsMotifWidgetFactory.cpp:197: nsresult nsIWidget::SetVerticalScrollbar(class n sIWidget *) nsMotifWidgetFactory.cpp:197: nsresult nsIWidget::EnableFileDrop(PRBool) nsMotifWidgetFactory.cpp:200: cannot allocate an object of type `nsLabel' nsMotifWidgetFactory.cpp:200: since the following virtual functions are abstra ct: nsMotifWidgetFactory.cpp:200: nsresult nsIWidget::AddMenuListener(class nsIMen uListener *) nsMotifWidgetFactory.cpp:200: nsresult nsIWidget::SetVerticalScrollbar(class n sIWidget *) nsMotifWidgetFactory.cpp:200: nsresult nsIWidget::EnableFileDrop(PRBool) nsMotifWidgetFactory.cpp:203: cannot allocate an object of type `nsMenuBar' nsMotifWidgetFactory.cpp:203: since the following virtual functions are abstra ct: nsMotifWidgetFactory.cpp:203: enum nsEventStatus nsIMenuListener::MenuItemSele cted(const struct nsMenuEvent &) nsMotifWidgetFactory.cpp:203: enum nsEventStatus nsIMenuListener::MenuDeselect ed(const struct nsMenuEvent &) nsMotifWidgetFactory.cpp:203: enum nsEventStatus nsIMenuListener::MenuConstruc t(const struct nsMenuEvent &, class nsIWidget *, void *, void *) nsMotifWidgetFactory.cpp:203: enum nsEventStatus nsIMenuListener::MenuDestruct (const struct nsMenuEvent &) nsMotifWidgetFactory.cpp:206: cannot allocate an object of type `nsMenu' nsMotifWidgetFactory.cpp:206: since the following virtual functions are abstra ct: nsMotifWidgetFactory.cpp:206: enum nsEventStatus nsIMenuListener::MenuItemSele cted(const struct nsMenuEvent &) nsMotifWidgetFactory.cpp:206: enum nsEventStatus nsIMenuListener::MenuDeselect ed(const struct nsMenuEvent &) nsMotifWidgetFactory.cpp:206: enum nsEventStatus nsIMenuListener::MenuConstruc t(const struct nsMenuEvent &, class nsIWidget *, void *, void *) nsMotifWidgetFactory.cpp:206: enum nsEventStatus nsIMenuListener::MenuDestruct (const struct nsMenuEvent &) nsMotifWidgetFactory.cpp:206: nsresult nsIMenu::Create(class nsISupports *, co nst class nsString &) nsMotifWidgetFactory.cpp:206: nsresult nsIMenu::SetLabel(const class nsString &) nsMotifWidgetFactory.cpp:206: nsresult nsIMenu::AddItem(class nsISupports *) nsMotifWidgetFactory.cpp:206: nsresult nsIMenu::GetItemAt(PRUint32, class nsIS upports *&) nsMotifWidgetFactory.cpp:206: nsresult nsIMenu::InsertItemAt(PRUint32, class n sISupports *) nsMotifWidgetFactory.cpp:206: nsresult nsIMenu::GetNativeData(void **) nsMotifWidgetFactory.cpp:206: nsresult nsIMenu::AddMenuListener(class nsIMenuL istener *) nsMotifWidgetFactory.cpp:206: nsresult nsIMenu::RemoveMenuListener(class nsIMe nuListener *) nsMotifWidgetFactory.cpp:206: nsresult nsIMenu::SetDOMNode(class nsIDOMNode *) nsMotifWidgetFactory.cpp:206: nsresult nsIMenu::SetDOMElement(class nsIDOMElem ent *) nsMotifWidgetFactory.cpp:206: nsresult nsIMenu::SetWebShell(class nsIWebShell *) nsMotifWidgetFactory.cpp:209: cannot allocate an object of type `nsMenuItem' nsMotifWidgetFactory.cpp:209: since the following virtual functions are abstra ct: nsMotifWidgetFactory.cpp:209: enum nsEventStatus nsIMenuListener::MenuItemSele cted(const struct nsMenuEvent &) nsMotifWidgetFactory.cpp:209: enum nsEventStatus nsIMenuListener::MenuDeselect ed(const struct nsMenuEvent &) nsMotifWidgetFactory.cpp:209: enum nsEventStatus nsIMenuListener::MenuConstruc t(const struct nsMenuEvent &, class nsIWidget *, void *, void *) nsMotifWidgetFactory.cpp:209: enum nsEventStatus nsIMenuListener::MenuDestruct (const struct nsMenuEvent &) nsMotifWidgetFactory.cpp:209: nsresult nsIMenuItem::Create(class nsISupports * , const class nsString &, PRBool) nsMotifWidgetFactory.cpp:209: nsresult nsIMenuItem::SetEnabled(PRBool) nsMotifWidgetFactory.cpp:209: nsresult nsIMenuItem::GetEnabled(PRBool *) nsMotifWidgetFactory.cpp:209: nsresult nsIMenuItem::SetChecked(PRBool) nsMotifWidgetFactory.cpp:209: nsresult nsIMenuItem::GetChecked(PRBool *) nsMotifWidgetFactory.cpp:209: nsresult nsIMenuItem::AddMenuListener(class nsIM enuListener *) nsMotifWidgetFactory.cpp:209: nsresult nsIMenuItem::RemoveMenuListener(class n sIMenuListener *) nsMotifWidgetFactory.cpp:209: nsresult nsIMenuItem::IsSeparator(PRBool &) nsMotifWidgetFactory.cpp:209: nsresult nsIMenuItem::SetCommand(const class nsS tring &) nsMotifWidgetFactory.cpp:209: nsresult nsIMenuItem::DoCommand() nsMotifWidgetFactory.cpp:209: nsresult nsIMenuItem::SetDOMElement(class nsIDOM Element *) nsMotifWidgetFactory.cpp:209: nsresult nsIMenuItem::GetDOMElement(class nsIDOM Element **) nsMotifWidgetFactory.cpp:209: nsresult nsIMenuItem::SetWebShell(class nsIWebSh ell *) nsMotifWidgetFactory.cpp:212: cannot allocate an object of type `nsImageButton' nsMotifWidgetFactory.cpp:212: since the following virtual functions are abstra ct: nsMotifWidgetFactory.cpp:212: nsresult nsIWidget::AddMenuListener(class nsIMen uListener *) nsMotifWidgetFactory.cpp:212: nsresult nsIWidget::SetVerticalScrollbar(class n sIWidget *) nsMotifWidgetFactory.cpp:212: nsresult nsIWidget::EnableFileDrop(PRBool) nsMotifWidgetFactory.cpp:215: cannot allocate an object of type `nsMenuButton' nsMotifWidgetFactory.cpp:215: since the following virtual functions are abstra ct: nsMotifWidgetFactory.cpp:215: nsresult nsIWidget::AddMenuListener(class nsIMen uListener *) nsMotifWidgetFactory.cpp:215: nsresult nsIWidget::SetVerticalScrollbar(class n sIWidget *) nsMotifWidgetFactory.cpp:215: nsresult nsIWidget::EnableFileDrop(PRBool) nsMotifWidgetFactory.cpp:221: cannot allocate an object of type `nsLookAndFeel' nsMotifWidgetFactory.cpp:221: since the following virtual functions are abstra ct: nsMotifWidgetFactory.cpp:221: nsresult nsILookAndFeel::GetMetric(enum nsILookA ndFeel::nsMetricFloatID, float &) nsMotifWidgetFactory.cpp:232: cannot allocate an object of type `nsAppShell' nsMotifWidgetFactory.cpp:232: since the following virtual functions are abstra ct: nsMotifWidgetFactory.cpp:232: nsresult nsIAppShell::Spinup() nsMotifWidgetFactory.cpp:232: nsresult nsIAppShell::Spindown() nsMotifWidgetFactory.cpp:232: nsresult nsIAppShell::GetNativeEvent(PRBool &, v oid *&) nsMotifWidgetFactory.cpp:232: nsresult nsIAppShell::DispatchNativeEvent(PRBool , void *) nsMotifWidgetFactory.cpp:232: nsresult nsIAppShell::EventIsForModalWindow(PRBo ol, void *, class nsIWidget *, PRBool *)
Assignee: trudelle → zuperdee
Motif is not one of our target 'platforms'. If you are trying to port to it, then this is part of the work. reassigning back to zuperdee@penguinpowered.com. CC'ing mcafee so he can tell me if I'm full of sh*t.
I'm sorry. I thought it was one of the target platforms... In news://news.mozilla.org/373AF93E.6B556E6B%40cybersight.com, Bruce Mitchener said: -------------------------------------------- There's also some raw Xlib code in the tree, and someone working on support for Photon which is the Windowing system for QNX. > also trying to port it to Qt as well). I can obviously get it compile > fine with GTK, but when I try to specify that I want it to compile with > Motif, it will not work. My OS is Linux, BTW, in case that helps. > Anybody out there have an answer?? There wasn't anyone working on the Motif code for some time, and it had fallen into a state of bitrot. Brian Ostrom has been checking some fixes in though lately, so maybe someone is resurrecting it? -------------------------------------------- So I guess it's still there, but nobody is really serious about it. If it won't compile, it isn't too big a deal; I've always thought Motif applications looked vomitous compared to GTK+ anyway, but I just thought it might be interesting as a way of seeing how we could push the limits of Lesstif, and maybe help iron out bugs in it, just for fun. I was also wondering because it wouldn't make sense to me to have it there cluttering up the tree if it wasn't actually usable. Unfortunately, I only recently completed some introductory courses in C/C++, but for some reason, I am really intrigued now. Man, I feel like doing something... So, if nobody else is specifically working on this, I am willing to take a stab at trying to fix the Motif port... I cannot guarantee anything though. Is this okay??
Sure it's okay, whatever turns you on! However, I'd also encourage you to consider getting involved in the GTK development, as we really need help there. Thanks!
Status: NEW → ASSIGNED
Severity: normal → enhancement
Turning the priority down to enhancement, since I don't mean to hold anybody else up with this... After all, it is basically now just for my own curiosities, and I know it isn't one of the reference platforms. BTW, whom should I submit the patches to once I have them ready? Shall I just attach them to this bug for somebody to check in?
Priority: P3 → P5
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
Actually, I might as well mark this as fixed, since I have now fixed these particular compiler errors (you may verify this by looking at Executor on the SeaMonkey Ports page in Tinderbox if you want). Other problems with the Motif remain, but I am working on these in my spare time, too. So I will mark this as fixed so as to get this off your radar if you want to mark it verified.
Status: RESOLVED → VERIFIED
marking verified per developer's comments...
You need to log in before you can comment on or make changes to this bug.