diff options
author | Rodrigo Arias Mallo <rodarima@gmail.com> | 2025-08-31 13:50:05 +0200 |
---|---|---|
committer | Rodrigo Arias Mallo <rodarima@gmail.com> | 2025-08-31 14:09:10 +0200 |
commit | 1d55cf26a355b89a007e4a9bf7361d8a5c2c64cd (patch) | |
tree | c1851d29b96d05d435a31ca8af108eb21a87b350 /dw | |
parent | 47ab7c704f415454fb3c908f9fe0bdebb3239ef3 (diff) |
Fix hr width exceeding available space
The hr ruler was directly using the available content width to compute
its allocation. However, the width needs to take into account the border
of the hr element (1 pixel on each side) to avoid making the element
larger than the available space.
Co-authored-by: dogma
Diffstat (limited to 'dw')
-rw-r--r-- | dw/ruler.cc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/dw/ruler.cc b/dw/ruler.cc index fc0bbce6..5e922723 100644 --- a/dw/ruler.cc +++ b/dw/ruler.cc @@ -2,6 +2,7 @@ * Dillo Widget * * Copyright 2005-2007 Sebastian Geerken <sgeerken@dillo.org> + * Copyright 2025 Rodrigo Arias Mallo <rodarima@gmail.com> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -41,7 +42,10 @@ Ruler::~Ruler () void Ruler::sizeRequestSimpl (core::Requisition *requisition) { - requisition->width = lout::misc::max (getAvailWidth (true), boxDiffWidth ()); + /* The ruler will be drawn by using a 1px border, so we substract the + * border from the available width when computing the content width. */ + int w = lout::misc::max(0, getAvailWidth(true) - boxDiffWidth()); + requisition->width = w; requisition->ascent = boxOffsetY (); requisition->descent = boxRestHeight (); } |