diff --git a/ChangeLog b/ChangeLog index 9eac3b577..5a99b67e4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +1999-07-03 Adam Fedor + + * Source/NSApplication.m (-run): Added destroyContext (so we can + remove backend run method). + + * Source/NSStringDrawing.m (drawRun): Better hack to work around + DGS bug that fails to flush strings (XDPS backend only). + 1999-06-30 Michael Hanni * Source/NSMenuView.m: fixes: diff --git a/Headers/gnustep/gui/AppKit.h b/Headers/gnustep/gui/AppKit.h index 53d97458e..202a3fe16 100644 --- a/Headers/gnustep/gui/AppKit.h +++ b/Headers/gnustep/gui/AppKit.h @@ -119,6 +119,7 @@ #include #include #include +#include #include #include #include diff --git a/Source/NSApplication.m b/Source/NSApplication.m index fa7839c56..99b170a50 100644 --- a/Source/NSApplication.m +++ b/Source/NSApplication.m @@ -328,6 +328,7 @@ NSApplication *NSApp = nil; RELEASE(pool); } + [GSCurrentContext() destroyContext]; NSDebugLog(@"NSApplication end of run loop\n"); } diff --git a/Source/NSStringDrawing.m b/Source/NSStringDrawing.m index 24650fcad..62d90e2fc 100644 --- a/Source/NSStringDrawing.m +++ b/Source/NSStringDrawing.m @@ -522,14 +522,10 @@ drawRun(GSTextRun *run, NSPoint origin, GSDrawInfo *draw) buf[i] = '\0'; DPSmoveto(draw->ctxt, origin.x, origin.y); DPSshow(draw->ctxt, buf); - /* FIXME - Figure out why DGS fails to flush strings and remove this - aweful hack which doesn't even work all the time: */ - DPSmoveto(draw->ctxt, origin.x, origin.y); - DPSshow(draw->ctxt, buf); - DPSmoveto(draw->ctxt, origin.x, origin.y); - DPSshow(draw->ctxt, buf); - DPSmoveto(draw->ctxt, origin.x, origin.y); - DPSshow(draw->ctxt, buf); +#ifdef XDPS_BACKEND_LIBRARY + /* FIXME: Hack to force DGS to flush the text */ + DPSrectfill(draw->ctxt, 0, 0, 0.5, 0.5); +#endif } else { @@ -544,14 +540,10 @@ drawRun(GSTextRun *run, NSPoint origin, GSDrawInfo *draw) DPSshow(draw->ctxt, buf); origin.x += run->glyphs[i].adv.width; } - /* FIXME - Figure out why DGS fails to flush strings and remove this - aweful hack which doesn't even work all the time: */ - DPSmoveto(draw->ctxt, origin.x, origin.y); - DPSshow(draw->ctxt, buf); - DPSmoveto(draw->ctxt, origin.x, origin.y); - DPSshow(draw->ctxt, buf); - DPSmoveto(draw->ctxt, origin.x, origin.y); - DPSshow(draw->ctxt, buf); +#ifdef XDPS_BACKEND_LIBRARY + /* FIXME: Hack to force DGS to flush the text */ + DPSrectfill(draw->ctxt, 0, 0, 0.5, 0.5); +#endif } if (run->underline) diff --git a/Tools/Functions.m b/Tools/Functions.m index 0f6d1d178..b5bf6b1c4 100644 --- a/Tools/Functions.m +++ b/Tools/Functions.m @@ -55,21 +55,9 @@ void NSDrawGrayBezel(NSRect aRect, NSRect clipRect) {} void NSDrawGroove(NSRect aRect, NSRect clipRect) {} -void PSlineto(float x, float y) +void NSDrawPopupNibble(NSPoint aPoint) {} -void PSmoveto(float x, float y) -{} -void PSrlineto(float x, float y) -{} -void PSsetgray(float num) -{} -void PSstroke(void) -{} -void PSsetlinewidth(float width) -{} -void PSgrestore(void) -{} -void PSgsave(void) +void NSDrawDownArrow(NSPoint aPoint) {} /* Dummy wraps */