gerard patel <[EMAIL PROTECTED]> writes:
> With Cvs commits of today, I see a crash in WordViewer 97 (the freeware viewer
> of Word 97 files).
This should fix it:
Index: objects/dc.c
===================================================================
RCS file: /opt/cvs-commit/wine/objects/dc.c,v
retrieving revision 1.39
diff -u -r1.39 dc.c
--- objects/dc.c 2000/08/19 21:38:56 1.39
+++ objects/dc.c 2000/08/20 17:05:22
@@ -809,38 +809,34 @@
switch (cap)
{
case PHYSICALWIDTH:
- if(Escape(hdc, GETPHYSPAGESIZE, 0, NULL, (LPVOID)&pt) > 0)
- return pt.x;
+ if(Escape(hdc, GETPHYSPAGESIZE, 0, NULL, (LPVOID)&pt) > 0) ret = pt.x;
+ break;
case PHYSICALHEIGHT:
- if(Escape(hdc, GETPHYSPAGESIZE, 0, NULL, (LPVOID)&pt) > 0)
- return pt.y;
+ if(Escape(hdc, GETPHYSPAGESIZE, 0, NULL, (LPVOID)&pt) > 0) ret = pt.y;
+ break;
case PHYSICALOFFSETX:
- if(Escape(hdc, GETPRINTINGOFFSET, 0, NULL, (LPVOID)&pt) > 0)
- return pt.x;
+ if(Escape(hdc, GETPRINTINGOFFSET, 0, NULL, (LPVOID)&pt) > 0) ret = pt.x;
+ break;
case PHYSICALOFFSETY:
- if(Escape(hdc, GETPRINTINGOFFSET, 0, NULL, (LPVOID)&pt) > 0)
- return pt.y;
+ if(Escape(hdc, GETPRINTINGOFFSET, 0, NULL, (LPVOID)&pt) > 0) ret = pt.y;
+ break;
case SCALINGFACTORX:
- if(Escape(hdc, GETSCALINGFACTOR, 0, NULL, (LPVOID)&pt) > 0)
- return pt.x;
+ if(Escape(hdc, GETSCALINGFACTOR, 0, NULL, (LPVOID)&pt) > 0) ret = pt.x;
+ break;
case SCALINGFACTORY:
- if(Escape(hdc, GETSCALINGFACTOR, 0, NULL, (LPVOID)&pt) > 0)
- return pt.y;
- }
+ if(Escape(hdc, GETSCALINGFACTOR, 0, NULL, (LPVOID)&pt) > 0) ret = pt.y;
+ break;
+ default:
+ if ((cap < 0) || (cap > sizeof(DeviceCaps)-sizeof(WORD))) break;
- if ((cap < 0) || (cap > sizeof(DeviceCaps)-sizeof(WORD)))
- {
- GDI_ReleaseObj( hdc );
- return 0;
+ if (((cap>=46) && (cap<88)) || ((cap>=92) && (cap<104)))
+ FIXME("(%04x,%d): unsupported DeviceCaps capability, will yield 0!\n",
+ hdc,cap );
+ ret = *(WORD *)(((char *)dc->w.devCaps) + cap);
+ break;
}
- if (((cap>=46) && (cap<88)) || ((cap>=92) && (cap<104)))
- FIXME("(%04x,%d): unsupported DeviceCaps capability, will yield 0!\n",
- hdc,cap
- );
- TRACE("(%04x,%d): returning %d\n",
- hdc, cap, *(WORD *)(((char *)dc->w.devCaps) + cap) );
- ret = *(WORD *)(((char *)dc->w.devCaps) + cap);
+ TRACE("(%04x,%d): returning %d\n", hdc, cap, ret );
GDI_ReleaseObj( hdc );
return ret;
}
--
Alexandre Julliard
[EMAIL PROTECTED]