summaryrefslogtreecommitdiffstats
path: root/generic/ttk/ttkEntry.c
diff options
context:
space:
mode:
authordkf <donal.k.fellows@manchester.ac.uk>2012-09-11 19:03:26 (GMT)
committerdkf <donal.k.fellows@manchester.ac.uk>2012-09-11 19:03:26 (GMT)
commit2a4e805e5ff66ad774106894fb21e014a8124794 (patch)
treef110106ee285d4e6c08e38174d09e2aeabd0610a /generic/ttk/ttkEntry.c
parent54bef7534cc3a3321a7a8087ceb7073bf4ce096f (diff)
parent799666382d309825a9bd5d7205fd05662a742391 (diff)
downloadtk-2a4e805e5ff66ad774106894fb21e014a8124794.zip
tk-2a4e805e5ff66ad774106894fb21e014a8124794.tar.gz
tk-2a4e805e5ff66ad774106894fb21e014a8124794.tar.bz2
[Bug 3566594]: Fix clipping problem in classic X11; clip regions were leaking in
reused GCs.
Diffstat (limited to 'generic/ttk/ttkEntry.c')
-rw-r--r--generic/ttk/ttkEntry.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/generic/ttk/ttkEntry.c b/generic/ttk/ttkEntry.c
index 136d4af..5ef7f81 100644
--- a/generic/ttk/ttkEntry.c
+++ b/generic/ttk/ttkEntry.c
@@ -1254,6 +1254,7 @@ static void EntryDisplay(void *clientData, Drawable d)
gc = EntryGetGC(entryPtr, es.insertColorObj, clipRegion);
XFillRectangle(Tk_Display(tkwin), d, gc,
cursorX-cursorWidth/2, cursorY, cursorWidth, cursorHeight);
+ TkSetRegion(Tk_Display(tkwin), gc, None);
Tk_FreeGC(Tk_Display(tkwin), gc);
}
@@ -1264,6 +1265,7 @@ static void EntryDisplay(void *clientData, Drawable d)
Tk_Display(tkwin), d, gc, entryPtr->entry.textLayout,
entryPtr->entry.layoutX, entryPtr->entry.layoutY,
leftIndex, rightIndex);
+ TkSetRegion(Tk_Display(tkwin), gc, None);
Tk_FreeGC(Tk_Display(tkwin), gc);
/* Overwrite the selected portion (if any) in the -selectforeground color:
@@ -1274,6 +1276,7 @@ static void EntryDisplay(void *clientData, Drawable d)
Tk_Display(tkwin), d, gc, entryPtr->entry.textLayout,
entryPtr->entry.layoutX, entryPtr->entry.layoutY,
selFirst, selLast);
+ TkSetRegion(Tk_Display(tkwin), gc, None);
Tk_FreeGC(Tk_Display(tkwin), gc);
}