Kenneth J. Davis wrote:
Then AbiWord never even started. Do other NSIS v2 based installers work? The AbiWord installer uses several NSIS plugins, such as to check internet connection, etc. and has been reported to fail on Windows 95 without IE.
Yes, other NSIS v2 based installers work and even the AbiWord one worked before. I'm not sure if it works now or not.
If you want to test AbiWord, try running just the executable, http://abiword.pchasm.org/builds/nightly/win32/AbiWord.exe or for latest Stable build http://abiword.pchasm.org/builds/nightly/win32/ABI-2-0-0-STABLE/VC6SP5/AbiWo...
If it makes it easier and you want the extra files (help, etc) I can probably add a zip install method for AbiWord.
As for the timer issue, for testing purposes, a simple fix of ignoring the timer callback if abi's timer object is disabled may suffice for a more graceful failure. I will see about adding a zip build of AbiWord with a timer workaround tommorrow to http://abiword.pchasm.org/builds/periodic/ if anyone with ROS installed wants to try it.
Attached is a patch for my modified AbiWord version that has this check and one more HACK on other place. With this patch I was able to load AbiWord on ReactOS...
(I generally provide the Win32 builds of AbiWord)
Jeremy Davis jeremyd@computer.org
Thanks much for interest and help.
- Filip
--- abi/src/af/ev/win/ev_Win32Toolbar.cpp Fri Dec 12 14:19:27 2003 +++ abi/src/af/ev/win/ev_Win32Toolbar.cpp Wed Feb 11 21:37:43 2004 @@ -280,10 +280,12 @@ if(dis->itemState & ODS_COMBOBOXEDIT) { +#if 0 HFONT hUIFont = (HFONT) GetStockObject(DEFAULT_GUI_FONT); hfontSave = (HFONT) SelectObject (dis->hDC, hUIFont); ExtTextOut(dis->hDC, dis->rcItem.left, dis->rcItem.top, ETO_OPAQUE | ETO_CLIPPED, 0, sz, lstrlen(sz), 0); SelectObject (dis->hDC, hfontSave); +#endif } else { --- abi/src/af/util/win/ut_Win32Timer.cpp Wed Apr 10 00:25:18 2002 +++ abi/src/af/util/win/ut_Win32Timer.cpp Thu Feb 12 12:04:28 2004 @@ -61,6 +63,7 @@ UT_Timer* pMyTimer = UT_Win32Timer::findWin32Timer(hwnd, idEvent); UT_ASSERT(pMyTimer);
+ if (pMyTimer) pMyTimer->fire(); }