summaryrefslogtreecommitdiff
path: root/src/entry_backend
diff options
context:
space:
mode:
Diffstat (limited to 'src/entry_backend')
-rw-r--r--src/entry_backend/harfbuzz.c5
-rw-r--r--src/entry_backend/pango.c5
2 files changed, 8 insertions, 2 deletions
diff --git a/src/entry_backend/harfbuzz.c b/src/entry_backend/harfbuzz.c
index db3be66..cba1fd8 100644
--- a/src/entry_backend/harfbuzz.c
+++ b/src/entry_backend/harfbuzz.c
@@ -257,7 +257,10 @@ void entry_backend_harfbuzz_update(struct entry *entry)
cairo_save(cr);
color = entry->selection_background_color;
cairo_set_source_rgba(cr, color.r, color.g, color.b, color.a);
- uint32_t pad = entry->selection_background_padding;
+ int32_t pad = entry->selection_background_padding;
+ if (pad < 0) {
+ pad = entry->clip_width;
+ }
cairo_translate(cr, -pad, 0);
cairo_rectangle(cr, 0, 0, width + pad * 2, font_extents.height);
cairo_translate(cr, pad, 0);
diff --git a/src/entry_backend/pango.c b/src/entry_backend/pango.c
index bb0847a..73eeb49 100644
--- a/src/entry_backend/pango.c
+++ b/src/entry_backend/pango.c
@@ -109,7 +109,10 @@ void entry_backend_pango_update(struct entry *entry)
cairo_save(cr);
color = entry->selection_background_color;
cairo_set_source_rgba(cr, color.r, color.g, color.b, color.a);
- uint32_t pad = entry->selection_background_padding;
+ int32_t pad = entry->selection_background_padding;
+ if (pad < 0) {
+ pad = entry->clip_width;
+ }
cairo_translate(cr, -pad, 0);
cairo_rectangle(cr, 0, 0, (int)(width / PANGO_SCALE) + pad * 2, (int)(height / PANGO_SCALE));
cairo_translate(cr, pad, 0);