Closed Bug 280137 Opened 20 years ago Closed 20 years ago

Get rid of PMWINX dependency

Categories

(Core Graveyard :: GFX: OS/2, defect)

x86
OS/2
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: mozilla, Assigned: mkaply)

References

Details

Attachments

(1 file, 1 obsolete file)

There seem to be several users out there who for some reason have not installed
PMWINX.DLL on their system (no Open32?) and cannot start Mozilla/Firefox.
Removing the load-time dynamic link from gfx_os2.dll and replacing it with
run-time linking to the registry functions would therefore be a good idea.
Attached patch 1st try to remove pmwinx (obsolete) — Splinter Review
PMWINX.DLL actually only forwards the Reg* functions to REGISTRY.DLL, I
therefore load that DLL. The patch also includes Ilya Zakharevich's FPU problem
workaround, although I don't currently know if that is required for this DLL,
too.

It seems to work, but as mentioned in the newsgroup I find it hard to test.
Because even if I move away registry.dll and pmwinx.dll on my system, Mozilla
comes up with anti-aliasing. If I remove them and reboot my system doesn't come
up. Maybe it's too late and I am just too tired to understand what's going
on...
Ah, stupid me! :-) The registry access is only done for the _extended_ ft2lib
functions. How do I test for those?
Javier can explain that.
Javier has forgotten :)

Basically it had to do with whether or not we use FT2LIB for unicode display.

Try this page:

http://www.columbia.edu/kermit/utf8.html

with and without extended FT2LIB to see the difference.
Basically what Mike said.  OS/2 has no facilities to query a font for the
characters/glyphs it supports.  So I made it so that a user can install the
freetype libs and use that to get better font handling, comparable to what you
would see on some of the other operating systems.
OK, that makes sense and is easy to test. I looked at
http://www.columbia.edu/kermit/utf8.html and
http://en.wikipedia.org/wiki/Greek_alphabet with the patched and unpatched
version and both look identical if I use the same (unicode) fonts.

Btw, I guess gfx_os2.dll can then be added to mozturbo again?
http://lxr.mozilla.org/seamonkey/source/xpfe/bootstrap/os2turbo/mozturbo.cpp#93

Currently I am waiting for Ilya to confirm that we need to bracket the
DosLoadModule with _control87 functions even for registry.dll (before he only
wrote that PMWINX would behave badly when loaded like that).
Second try. I removed the FP flags trick for now, which I hope will be solved
at a larger scale soon (bug 280813. Ilya thinks that registry.dll is good
anyway).
This time I also removed pmwinx from the link flags for Sunbird and added
GFX_OS2.DLL again to the libs to load with mozturbo. I don't completely
understand what is done to those DLLs, but it seems to me that it won't trigger
the loading of registry.dll or ft2lib.dll, right?
Attachment #172632 - Attachment is obsolete: true
Attachment #173216 - Flags: superreview?(mkaply)
Attachment #173216 - Flags: review?(jhpedemonte)
Attachment #173216 - Flags: review?(jhpedemonte) → review+
Comment on attachment 173216 [details] [diff] [review]
more complete removal of pmwinx

sr=mkaply
Attachment #173216 - Flags: superreview?(mkaply) → superreview+
Will this likely get checked in soon?  I opened a bug 281203 that would
partially be corrected by this.  toolkit/library/Makefile.in currently needs
(but doesn't have) the -lpmwinx.  
yes. It will go in Monday monrning.

Blocks: 281203
All patches checked in to trunk.
Status: NEW → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
Mike, do you think we can apply this patch to the 1.7 (and perhaps aviary)
branch(es)? It didn't seem to have any bad effect on 1.8a6 and 1.8b1, and on the
contrary _seems_ to have fixed problems interacting with other programs.

Although I am not 100% sure that this checkin caused this, but since then I
notice that I can start Mozilla while StarOffice is running which was not
previously the case since about 2004-04-20 the time the Reg* functions were
first added. And I was informed that now (since 1.8b1) ImpOS2 runs when Mozilla
is active which was not previously possible.

I would be happy to produce a clean patch against the current 1.7 and aviary
branches.
Sure, no problem. I'll put this patch in 1.7.6 and the next firefox
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: