Jump to content

roytam1

Member
  • Posts

    3,612
  • Joined

  • Last visited

  • Days Won

    415
  • Donations

    0.00 USD 
  • Country

    Hong Kong

Everything posted by roytam1

  1. FYI (from blackwingcat): It seems that KB4018556(CVE-2017-0244/CVE2017-8483) causing login problems: Reported problem with COM security patch KB 4018556 for WinXP Embedded @ AskWoody (https://www.askwoody.com/2017/reported-problem-with-wannacry-patch-kb-4018556-for-winxp-embedded/) KB4018556 forces winlogon.exe/ntdll.dll to crash (https://support.microsoft.com/ja-jp/help/4025687/microsoft-security-advisory-4025685-guidance-for-older-platforms)
  2. roytam1

    XomPie

    Mozilla does not recommend using gcc to compile Gecko engine for windows, and this is unsupported. So playing around mingw with gecko is actually entering unrevealed area of map, no one can actually giving any help.
  3. roytam1

    XomPie

    Seems to be hard here as I have only XP as main system and build environment requires huge amount of RAM and may require 64bit win7+ environment, which I don't have here.
  4. roytam1

    XomPie

    I think you need to figure how to build a vanilla build of palemoon/firefox/k-meleon and then adding your own code over it.
  5. roytam1

    XomPie

    tried 27.2.0 and 27.4.0 both crash when startup, without wined3d everything works.
  6. roytam1

    XomPie

    I patched palemoon with xompie-0.6-alpha options "0,1,2,3,4,5,6,7" (so msvcrt and d3d9 shouldn't be patched) palemoon can start in safe mode, but not normal mode. EDIT: if I renamed d3d1[01].dll I can start palemoon normally.
  7. roytam1

    XomPie

    maybe it is nothing wrong with xompie but wine3d? I find that palemoon crashes with my AMD OpenGL ICD. atioglxx.dll!69940bd2() atioglxx.dll!69941308() atioglxx.dll!69946e44() atioglxx.dll!6993bda7() atioglxx.dll!6974d51a() atioglxx.dll!6971b1fb() atioglxx.dll!69710a28() atioglxx.dll!697228a2() ntdll.dll!7c93005d() ntdll.dll!7c93005d() atioglxx.dll!69ec55f4() atioglxx.dll!69ec5613() > msvcr120.dll!_cprinput_l(const unsigned char * format=, localeinfo_struct * plocinfo=, char * arglist=) Line 1374 + 0xc
  8. roytam1

    XomPie

    already patched palemoon 27.2 unstable was working but now crashed before showing UI.
  9. in patch.cpp: /** Processes patches and integrates them into the PE file. * @param PEfile PE file. * @param patches Table of patches for selected PE file. */ void apply_patches(CPEFile& PEfile, abstract_patch* patches[]) { /* ... */ //create new section int UpdateRVA; char * UpdateOfs = NULL; if (total_code_size) { UpdateOfs = (char *) PEfile.AddSection(UPDT_SEC_NAME, total_code_size, &UpdateRVA, IMAGE_SCN_MEM_EXECUTE | IMAGE_SCN_CNT_CODE); //check if section creation/increase was successful if ((!UpdateOfs) || (!UpdateRVA)) { throw patch_exception("Failed to create '" UPDT_SEC_NAME "' section"); } memset(UpdateOfs, 0, total_code_size); }
  10. If you're using IDE/ATAPI driver, and yes there is 137GB limit. Using IAA or UNIATA should bring you up to 2TB size. for USB, 3rd party driver is needed. Check this out: http://bearwindows.zcm.com.au/winnt4.htm
  11. maybe you just add the driver in incorrect way. for adding network driver, goto Control Panel -> Network -> Interface Card tab -> Add -> Have Disk
  12. As NT4 is not PnP OS, you don't need any chipset driver. for network card, there is limited choices that has NT4 driver.
  13. I'm looking forward to your binaries
  14. instead, I want new palemoon compiled for vanilla XP.
  15. The program in C:\DOCUE~1\ALLUSE~1\APPLIC~1\FIREFL~1\STRONG~1\2031~1.6 is corrupted.
  16. I wonder if newer Firefox (3.x - 12.0) will run with wrapper?
  17. here it is: http://w2k.flxsrv.org/cgi-bin/wluc.cgi?OS=1&TYPE=-1&LANG=-1&DATE=2017&DATE2=/06
  18. BWC's Kernel Ex v2.9/v2.9G is released, Japanese version only at the moment BTW.
  19. the pushs should have "dword" keyword
  20. Looks promising, great! Do codecs and DMO work? Did you try playing WMA/WMV?
  21. Still accessible via http://update.microsoft.com/windowsupdate/v6/
  22. For Qt5, instead of tracing, it is better to look at sources and build a debug build.
  23. Great, that will be fun BTW in NT4 MsgWaitForMultipleObjectsEx() API doesn't accept MWMO_INPUTAVAILABLE flag, which may cause problems with Qt4 programs. I patched Qt4 with some changes in order to made it work in NT4: diff -u5rwB --exclude=Makefile --exclude='Makefile.*' --exclude='*.prl' qt-everywhere-opensource-src-4.8.5/src/corelib/kernel/qeventdispatcher_win.cpp QtWeb/src/qt/src/corelib/kernel/qeventdispatcher_win.cpp --- qt-everywhere-opensource-src-4.8.5/src/corelib/kernel/qeventdispatcher_win.cpp 2013-06-07 08:16:52.000000000 +0800 +++ QtWeb/src/qt/src/corelib/kernel/qeventdispatcher_win.cpp 2013-06-26 20:58:22.064500000 +0800 @@ -810,11 +810,11 @@ if (!filterEvent(&msg)) { TranslateMessage(&msg); DispatchMessage(&msg); } - } else if (waitRet < WAIT_OBJECT_0 + nCount) { + } else if (waitRet >= WAIT_OBJECT_0 && waitRet < WAIT_OBJECT_0 + nCount) { d->activateEventNotifier(d->winEventNotifierList.at(waitRet - WAIT_OBJECT_0)); } else { // nothing todo so break break; } @@ -830,13 +830,13 @@ Q_ASSERT(nCount < MAXIMUM_WAIT_OBJECTS - 1); for (int i=0; i<(int)nCount; i++) pHandles[i] = d->winEventNotifierList.at(i)->handle(); emit aboutToBlock(); - waitRet = MsgWaitForMultipleObjectsEx(nCount, pHandles, INFINITE, QS_ALLINPUT, MWMO_ALERTABLE | MWMO_INPUTAVAILABLE); + waitRet = MsgWaitForMultipleObjectsEx(nCount, pHandles, INFINITE, QS_ALLINPUT, MWMO_ALERTABLE); emit awake(); - if (waitRet < WAIT_OBJECT_0 + nCount) { + if (waitRet >= WAIT_OBJECT_0 && waitRet < WAIT_OBJECT_0 + nCount) { d->activateEventNotifier(d->winEventNotifierList.at(waitRet - WAIT_OBJECT_0)); retVal = true; } } } while (canWait);
  24. It is different approach here. For porting Qt4 back to NT4, I dug older version of Qt and find add back removed logic for older windows(NT4 and 95 here). For Example: diff -u5rwB --exclude=Makefile --exclude='Makefile.*' --exclude='*.prl' qt-everywhere-opensource-src-4.8.5/src/gui/text/qfontengine_win.cpp QtWeb/src/qt/src/gui/text/qfontengine_win.cpp --- qt-everywhere-opensource-src-4.8.5/src/gui/text/qfontengine_win.cpp 2013-06-07 08:17:00.000000000 +0800 +++ QtWeb/src/qt/src/gui/text/qfontengine_win.cpp 2013-06-19 11:30:42.627875000 +0800 @@ -398,10 +398,23 @@ #if defined(Q_WS_WINCE) GetCharWidth32(hdc, glyph, glyph, &width); #else if (ptrGetCharWidthI) ptrGetCharWidthI(hdc, glyph, 1, 0, &width); + else { + GLYPHMETRICS gm; + DWORD res = GDI_ERROR; + MAT2 mat; + mat.eM11.value = mat.eM22.value = 1; + mat.eM11.fract = mat.eM22.fract = 0; + mat.eM21.value = mat.eM12.value = 0; + mat.eM21.fract = mat.eM12.fract = 0; + res = GetGlyphOutline(hdc, glyph, GGO_METRICS|GGO_GLYPH_INDEX|GGO_NATIVE, &gm, 0, 0, &mat); + if (res != GDI_ERROR) { + width = gm.gmCellIncX; + } + } #endif } void QFontEngineWin::recalcAdvances(QGlyphLayout *glyphs, QTextEngine::ShaperFlags flags) const { @@ -651,11 +664,11 @@ 0 }; static const int char_table_entries = sizeof(char_table)/sizeof(ushort); -#ifndef Q_CC_MINGW +#if 0 void QFontEngineWin::getGlyphBearings(glyph_t glyph, qreal *leftBearing, qreal *rightBearing) { HDC hdc = shared_dc(); SelectObject(hdc, hfont); diff -u5rwB --exclude=Makefile --exclude='Makefile.*' --exclude='*.prl' qt-everywhere-opensource-src-4.8.5/src/gui/text/qfontengine_win_p.h QtWeb/src/qt/src/gui/text/qfontengine_win_p.h --- qt-everywhere-opensource-src-4.8.5/src/gui/text/qfontengine_win_p.h 2013-06-07 08:17:00.000000000 +0800 +++ QtWeb/src/qt/src/gui/text/qfontengine_win_p.h 2013-06-18 18:25:51.918125000 +0800 @@ -106,11 +106,11 @@ virtual QImage alphaMapForGlyph(glyph_t, const QTransform &xform); virtual QImage alphaRGBMapForGlyph(glyph_t t, QFixed subPixelPosition, int margin, const QTransform &xform); virtual QFontEngine *cloneWithSize(qreal pixelSize) const; -#ifndef Q_CC_MINGW +#if 0 virtual void getGlyphBearings(glyph_t glyph, qreal *leftBearing = 0, qreal *rightBearing = 0); #endif int getGlyphIndexes(const QChar *ch, int numChars, QGlyphLayout *glyphs, bool mirrored) const; void getCMap(); And what junior600 has to do is that, adding missing API into wrapper so newer programs can run on NT4.
×
×
  • Create New...