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

Re: [E-devel] segv in e_app.c



On Sun, 11 Jun 2006 17:45:25 +0200 Sebastian Dransfeld <sebastid@stud.ntnu.no>
babbled:

> Aleksej Struk wrote:
> > On Sun, Jun 11, 2006 at 09:12:55AM +0200, Morten Nilsen wrote:
> >> David Stevenson wrote:
> >>> Hello,
> >>>
> >>> I had a segv when dragging an Eterm from one desk to another - not sure
> >>> exactly how to reproduce it, but the bt shows that the e_app "win_name"
> >>> got a bogus value from somewhere. There were some changes in the source
> >>> here a few days back.
> >>>
> >>> #8  0x080ab892 in e_util_glob_match (str=0x822deb0 "Eterm",
> >>>    glob=0x1d <Address 0x1d out of bounds>) at e_utils.c:135
> >>> #9  0x080a7eb4 in e_app_window_name_class_title_role_find (
> >>>    name=0x822deb0 "Eterm", class=0x81bffc0 "Eterm",
> >>>    title=0x82347a8 "Eterm-0.9.2:", role=0x0) at e_apps.c:909
> >>> 909                       if ((e_util_glob_match(name, a->win_name)) &&
> >> seems quite clear that something is polluting the win_name property of 
> >> the e_app, which through a grep appears to only be set using 
> >> evas_stringshare_add..
> > 
> > I've check the source for this property, and found that it is set via
> > evas_stringshare_add and removed via evas_stringshare_del. But
> > in function _e_app_copy, these properties are copied via simple =.
> > So, maybe here is the problem ?
> 
> The reference should be correct. A copy should reference as much mem as 
> it can from it's parent, and an owner should newer be freed before its 
> copy. But there might be something wrong there.
> 
> But this code has worked for _ages_ so I don't think it's the culprit.
> 
> Sebastian

it's fixed. it was me - i was removing list elements i shouldn't have been and
keeping ones it that should have been removed. in the move to an exhaustive
search for eap matches for a window i screwed up :) fixed.

-- 
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler)    raster@rasterman.com
裸好多
Tokyo, Japan (東京 日本)