Re: Additional issues to address for the constraints_experiments branch?



Hi,
On 11/15/05, Elijah Newren <newren gmail com> wrote:
> On 11/14/05, Elijah Newren <newren gmail com> wrote:
> > On 11/14/05, Ray Strode <halfline gmail com> wrote:
> > > Maybe handling the one strut is completely inside another strut case
> > > would be good enough?
> > >
> > > Although I suppose it's conceivable that if someone had a vertical,
> > > full-height, auto-hide side panel (from a program other than
> > > gnome-panel) in addition to a standard horizontal gnome panel that
> > > things would still be broken.
> >
> > It shouldn't be too hard to make the change to handle overlapping
> > struts (after all, I put in the check to see if they were
> > overlapping), I just need to make the change.  I partially avoided it
> > out of laziness and wanting to see the edge resistance working as soon
> > as possible.  I'll try to find some time in the next day or so.
>
> Done now, feel free to test again.
>
> 2005-11-15  Elijah Newren  <newren gmail com>
>
>         Make meta_rectangle_find_onscreen_edges() robust against
>         overlapping struts instead of just checking and throwing an error
>         if they aren't.
It segfaults unless I do something like this:

diff -u -p -r1.1.2.27 boxes.c
--- boxes.c     16 Nov 2005 00:08:26 -0000      1.1.2.27
+++ boxes.c     16 Nov 2005 22:03:30 -0000
@@ -1266,6 +1266,10 @@ get_disjoint_strut_list_in_region (const
               else
                 tmp   = replace_rect_with_list (tmp,     cur_leftover);
               compare = replace_rect_with_list (compare, comp_leftover);
+
+              if (!compare)
+                break;
+
               cur = tmp->data;
             }

compare is supposed to be the non-overlapping part of one of the
struts that overlap I think.  In my case the strut is completely
within another strut which means it has no non-overlapping areas and
so compare is NULL.

--Ray



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]