Skip to content
  • Daniel Boles's avatar
    Entry: Fix get_icon_at_pos() · 3680e3d4
    Daniel Boles authored and Daniel Boles's avatar Daniel Boles committed
    This was comparing the input position, which is documented as being
    relative to the top-left of the Entry allocation, to icon allocations
    that were not adjusted accordingly. This could result in tooltips for
    icons not being shown in various conditions, since the ::query-tooltip
    handler uses get_icon_at_pos() to check whether to show an icon tooltip.
    
    The fix is to compare to the icon border box, not border allocation, as
    CssGadget::get_border_box() adjusts relative to the widget. Better yet:
    we can just make CssGadget::border_box_contains_point() compare for us.
    
    Delegating to Entry::get_icon_area(), which manually reimplements
    CssGadget::get_border_box(), would also work, but this is simpler.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=780938
    3680e3d4