| tigerdog ( @ 2007-11-23 12:52:00 |
Missing BeOS code?
A little while back, a bug turned up in Thunderbird's dogbert migration code. When support for Mac OSX was added, it appears ifdefs were inserted so code only executed for Unix and not OSX. Turns out some of that code is also needed for BeOS. I spent some time with LXR looking at the 1.8 branch and came up with a number of candidates where such conditionals occur. I'm posting the list here so everyone interested can look at it. Fyysik wanted me to put it in a safe place so he can look at it in his spare time. I hope this is a safe place :)
http://lxr.mozilla.org/mozilla1.8/sourc e/xpcom/threads/plevent.c#342
http://lxr.mozilla.org/mozilla1.8/sourc e/xpcom/threads/plevent.c#667
http://lxr.mozilla.org/mozilla1.8/sourc e/xpcom/threads/plevent.c#954
http://lxr.mozilla.org/mozilla1.8/sourc e/xpcom/threads/plevent.c#1346
--------comment says "nothing to do on other platforms" but I wonder...
Update: tqh, please look at line 945 and beyond. We might be missing a function.
http://lxr.mozilla.org/mozilla1.8/sourc e/xpcom/threads/plevent.c#1734
--------comment says "extra function for unix" do we also need it?
http://lxr.mozilla.org/mozilla1.8/sourc e/xpinstall/src/nsInstallFolder.cpp#610
--------we don't create an actual installer so maybe this isn't important?
http://lxr.mozilla.org/mozilla1.8/sourc e/toolkit/xre/nsUpdateDriver.cpp#94
http://lxr.mozilla.org/mozilla1.8/sourc e/toolkit/mozapps/update/src/updater/upd ater.cpp#116
--------these two are in updater code but looks like BEOS is missing. need to fix it if we ever put in updater
http://lxr.mozilla.org/mozilla1.8/sourc e/browser/components/migration/src/nsOpe raProfileMigrator.h#117
http://lxr.mozilla.org/mozilla1.8/sourc e/browser/components/migration/src/nsOpe raProfileMigrator.h#128
http://lxr.mozilla.org/mozilla1.8/sourc e/browser/components/migration/src/nsOpe raProfileMigrator.cpp#1090
http://lxr.mozilla.org/mozilla1.8/sourc e/browser/components/migration/src/nsOpe raProfileMigrator.cpp#1111
--------may be needed if migrating from old version of Opera for BeOS
http://lxr.mozilla.org/mozilla1.8/sourc e/mail/components/migration/src/nsDogber tProfileMigrator.h#72
http://lxr.mozilla.org/mozilla1.8/sourc e/mail/components/migration/src/nsDogber tProfileMigrator.cpp#141
http://lxr.mozilla.org/mozilla1.8/sourc e/mail/components/migration/src/nsDogber tProfileMigrator.cpp#183
--------more things to look at in Dogbert profile migrator
http://lxr.mozilla.org/mozilla1.8/sourc e/xpfe/appshell/src/nsXULWindow.cpp#976
Update: We can ignore this. Enabling it for BeOS means, among other things, the main window always starts at the top-left corner, rather than saving the window position from the last shutdown.
http://lxr.mozilla.org/mozilla1.8/sourc e/modules/plugin/base/public/npapi.h#470
http://lxr.mozilla.org/mozilla1.8/sourc e/modules/plugin/base/public/nsplugindef s.h#275
http://lxr.mozilla.org/mozilla1.8/sourc e/modules/plugin/base/src/nsPluginNative Window.cpp#65
http://lxr.mozilla.org/mozilla1.8/sourc e/modules/plugin/base/src/nsPluginHostIm pl.cpp#2674
http://lxr.mozilla.org/mozilla1.8/sourc e/modules/plugin/base/src/nsPluginHostIm pl.cpp#3906
--------last one has to do with Java so we may not see this code. Need to check the others to see if they're needed for BeOS
http://lxr.mozilla.org/mozilla1.8/sourc e/modules/plugin/base/src/ns4xPlugin.cpp#1 941
--------two instances in this file. BeOS is handled separately in the 1st one, not present in this one.
http://lxr.mozilla.org/mozilla1.8/sourc e/modules/libreg/src/VerReg.c#120
--------lots of references in this file. This is the first.
http://lxr.mozilla.org/mozilla1.8/sourc e/mailnews/import/comm4x/src/nsComm4xPro file.cpp#51
--------another bit of migration code to look at
http://lxr.mozilla.org/mozilla1.8/sourc e/layout/svg/base/src/nsSVGImageFrame.cp p#568
http://lxr.mozilla.org/mozilla1.8/sourc e/layout/generic/nsObjectFrame.cpp#1902
--------platform specific printing code. could be important - if we ever get printing to work :)
http://lxr.mozilla.org/mozilla1.8/sourc e/layout/generic/nsObjectFrame.cpp#2346
--------plug-in stuff. since there aren't many plug-ins for BeOS right now (are there any?) we wouldn't have seen this.
http://lxr.mozilla.org/mozilla1.8/sourc e/layout/generic/nsObjectFrame.cpp#2346
A little while back, a bug turned up in Thunderbird's dogbert migration code. When support for Mac OSX was added, it appears ifdefs were inserted so code only executed for Unix and not OSX. Turns out some of that code is also needed for BeOS. I spent some time with LXR looking at the 1.8 branch and came up with a number of candidates where such conditionals occur. I'm posting the list here so everyone interested can look at it. Fyysik wanted me to put it in a safe place so he can look at it in his spare time. I hope this is a safe place :)
http://lxr.mozilla.org/mozilla1.8/sourc
http://lxr.mozilla.org/mozilla1.8/sourc
http://lxr.mozilla.org/mozilla1.8/sourc
http://lxr.mozilla.org/mozilla1.8/sourc
--------comment says "nothing to do on other platforms" but I wonder...
Update: tqh, please look at line 945 and beyond. We might be missing a function.
http://lxr.mozilla.org/mozilla1.8/sourc
--------comment says "extra function for unix" do we also need it?
http://lxr.mozilla.org/mozilla1.8/sourc
--------we don't create an actual installer so maybe this isn't important?
http://lxr.mozilla.org/mozilla1.8/sourc
http://lxr.mozilla.org/mozilla1.8/sourc
--------these two are in updater code but looks like BEOS is missing. need to fix it if we ever put in updater
http://lxr.mozilla.org/mozilla1.8/sourc
http://lxr.mozilla.org/mozilla1.8/sourc
http://lxr.mozilla.org/mozilla1.8/sourc
http://lxr.mozilla.org/mozilla1.8/sourc
--------may be needed if migrating from old version of Opera for BeOS
http://lxr.mozilla.org/mozilla1.8/sourc
http://lxr.mozilla.org/mozilla1.8/sourc
http://lxr.mozilla.org/mozilla1.8/sourc
--------more things to look at in Dogbert profile migrator
http://lxr.mozilla.org/mozilla1.8/sourc
Update: We can ignore this. Enabling it for BeOS means, among other things, the main window always starts at the top-left corner, rather than saving the window position from the last shutdown.
http://lxr.mozilla.org/mozilla1.8/sourc
http://lxr.mozilla.org/mozilla1.8/sourc
http://lxr.mozilla.org/mozilla1.8/sourc
http://lxr.mozilla.org/mozilla1.8/sourc
http://lxr.mozilla.org/mozilla1.8/sourc
--------last one has to do with Java so we may not see this code. Need to check the others to see if they're needed for BeOS
http://lxr.mozilla.org/mozilla1.8/sourc
--------two instances in this file. BeOS is handled separately in the 1st one, not present in this one.
http://lxr.mozilla.org/mozilla1.8/sourc
--------lots of references in this file. This is the first.
http://lxr.mozilla.org/mozilla1.8/sourc
--------another bit of migration code to look at
http://lxr.mozilla.org/mozilla1.8/sourc
http://lxr.mozilla.org/mozilla1.8/sourc
--------platform specific printing code. could be important - if we ever get printing to work :)
http://lxr.mozilla.org/mozilla1.8/sourc
--------plug-in stuff. since there aren't many plug-ins for BeOS right now (are there any?) we wouldn't have seen this.
http://lxr.mozilla.org/mozilla1.8/sourc