summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mak.vc9/cd.sln6
-rw-r--r--src/xrender/cdxrender.c18
-rw-r--r--test/simple/config.mak19
3 files changed, 30 insertions, 13 deletions
diff --git a/mak.vc9/cd.sln b/mak.vc9/cd.sln
index 20e7f2e..f006382 100644
--- a/mak.vc9/cd.sln
+++ b/mak.vc9/cd.sln
@@ -122,6 +122,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cdtestcairo", "cdtestcairo.
{8441F69D-7135-43B2-974F-45C6123C8467} = {8441F69D-7135-43B2-974F-45C6123C8467}
EndProjectSection
EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ContextPlus", "ContextPlus", "{89C76F13-4572-4A6D-9F6B-9ED4D0809B64}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
@@ -178,7 +180,6 @@ Global
{01818D2C-AAAA-4D5C-ABCD-1234401C6461} = {1EE89DAC-3D3A-450C-9CF8-E200DF5E12E8}
{01818D2C-1234-4D5C-ABCD-4DFF401C6461} = {1EE89DAC-3D3A-450C-9CF8-E200DF5E12E8}
{01818D2C-65AF-4D5C-9452-4DFF401C6461} = {1EE89DAC-3D3A-450C-9CF8-E200DF5E12E8}
- {01818D2C-AAAA-DD23-00AA-5678401C6461} = {1EE89DAC-3D3A-450C-9CF8-E200DF5E12E8}
{B4823266-DF8C-AAAA-9999-C7E78C234EAC} = {E92DB6FF-5501-4FC0-81D2-00DB8EFA2434}
{53FC9752-81C1-4AA6-B366-AF6D0A2B81F6} = {E92DB6FF-5501-4FC0-81D2-00DB8EFA2434}
{B4823266-DF8C-1224-EE00-C7688C234EAC} = {EFB1BE3C-2981-456B-8E32-928CBDFF7822}
@@ -191,6 +192,9 @@ Global
{A7E49FB8-0000-45EC-1234-ABCDC7E83C00} = {162715BD-4DB3-4007-8B50-725C0BD11878}
{A7E49FB8-5467-45EC-2211-FFAB7E83C100} = {162715BD-4DB3-4007-8B50-725C0BD11878}
{A7E49FB8-0022-15EC-AB17-FFCDC7E83C00} = {162715BD-4DB3-4007-8B50-725C0BD11878}
+ {01818D2C-AAAA-DD23-00AA-5678401C6461} = {89C76F13-4572-4A6D-9F6B-9ED4D0809B64}
+ {160DEDA5-C1AA-48C7-8B07-490C6A8DE2EE} = {89C76F13-4572-4A6D-9F6B-9ED4D0809B64}
+ {51A96255-7EAB-4F36-A6E5-1BAF6245FA18} = {89C76F13-4572-4A6D-9F6B-9ED4D0809B64}
EndGlobalSection
GlobalSection(DevPartner Solution Properties) = postSolution
EndGlobalSection
diff --git a/src/xrender/cdxrender.c b/src/xrender/cdxrender.c
index 2682a6d..5f7e868 100644
--- a/src/xrender/cdxrender.c
+++ b/src/xrender/cdxrender.c
@@ -920,11 +920,11 @@ static void cdkillcanvas(cdCtxCanvas *ctxcanvas)
if (ctxcanvas->ctxplus->font)
XftFontClose(ctxcanvas->dpy, ctxcanvas->ctxplus->font);
- XftDrawDestroy(ctxcanvas->ctxplus->draw);
- free(ctxcanvas->ctxplus);
-
/* call original method */
ctxcanvas->ctxplus->cxKillCanvas(ctxcanvas);
+
+ XftDrawDestroy(ctxcanvas->ctxplus->draw);
+ free(ctxcanvas->ctxplus);
}
static void xrInitTable(cdCanvas* canvas)
@@ -1014,13 +1014,13 @@ static void xrCreateCanvasDBUFFER(cdCanvas* canvas, void *data)
{
cdcreatecanvasDBUFFER(canvas, data); /* call original first */
xrCreateContextPlus(canvas->ctxcanvas);
- canvas->ctxcanvas->ctxplus->cxKillCanvas = cdkillcanvasDBUFFER; /* must set it here since CreateContext clears the structure */
}
static void xrInitTableDBUFFER(cdCanvas* canvas)
{
- if (!cdkillcanvasDBUFFER) cdkillcanvasDBUFFER = canvas->cxKillCanvas; /* save original method */
cdinittableDBUFFER(canvas);
+ if (!cdkillcanvasDBUFFER) cdkillcanvasDBUFFER = canvas->cxKillCanvas;
+ canvas->ctxcanvas->ctxplus->cxKillCanvas = cdkillcanvasDBUFFER;
xrInitTable(canvas);
}
@@ -1050,13 +1050,13 @@ static void xrCreateCanvasNATIVE(cdCanvas* canvas, void *data)
{
cdcreatecanvasNATIVE(canvas, data);
xrCreateContextPlus(canvas->ctxcanvas);
- canvas->ctxcanvas->ctxplus->cxKillCanvas = cdkillcanvasNATIVE;
}
static void xrInitTableNATIVE(cdCanvas* canvas)
{
- if (!cdkillcanvasNATIVE) cdkillcanvasNATIVE = canvas->cxKillCanvas;
cdinittableNATIVE(canvas);
+ if (!cdkillcanvasNATIVE) cdkillcanvasNATIVE = canvas->cxKillCanvas;
+ canvas->ctxcanvas->ctxplus->cxKillCanvas = cdkillcanvasNATIVE;
xrInitTable(canvas);
}
@@ -1081,13 +1081,13 @@ static void xrCreateCanvasIMAGE(cdCanvas* canvas, void *data)
{
cdcreatecanvasIMAGE(canvas, data);
xrCreateContextPlus(canvas->ctxcanvas);
- canvas->ctxcanvas->ctxplus->cxKillCanvas = cdkillcanvasIMAGE;
}
static void xrInitTableIMAGE(cdCanvas* canvas)
{
- if (!cdkillcanvasIMAGE) cdkillcanvasIMAGE = canvas->cxKillCanvas;
cdinittableIMAGE(canvas);
+ if (!cdkillcanvasIMAGE) cdkillcanvasIMAGE = canvas->cxKillCanvas;
+ canvas->ctxcanvas->ctxplus->cxKillCanvas = cdkillcanvasIMAGE;
xrInitTable(canvas);
}
diff --git a/test/simple/config.mak b/test/simple/config.mak
index 2777b7d..bf10d3b 100644
--- a/test/simple/config.mak
+++ b/test/simple/config.mak
@@ -30,8 +30,21 @@ USE_STATIC = Yes
#USE_IM = Yes
ifneq ($(findstring Win, $(TEC_SYSNAME)), )
- LIBS = cdpdf pdflib cdcontextplus gdiplus
+ LIBS = cdpdf pdflib
+ ifndef USE_GDK
+ LIBS += cdcontextplus gdiplus
+ endif
else
- SLIB = $(CD)/lib/$(TEC_UNAME)/libcdpdf.a $(CD)/lib/$(TEC_UNAME)/libpdflib.a $(CD)/lib/$(TEC_UNAME)/libcdcontextplus.a
- LIBS = Xrender Xft
+ ifdef DBG_DIR
+ CDLIB = $(CD)/lib/$(TEC_UNAME)d
+ else
+ CDLIB = $(CD)/lib/$(TEC_UNAME)
+ endif
+
+ SLIB = $(CDLIB)/libcdpdf.a $(CDLIB)/libpdflib.a
+ ifndef USE_GDK
+ SLIB += $(CDLIB)/libcdcontextplus.a
+ LIBS = Xrender Xft
+ else
+ endif
endif