I don't even want to know what you're doing that you'd want to hide bugs like this
On Thu, Feb 14, 2013 at 1:02 PM, Enlightenment SVN < no-re...@enlightenment.org> wrote: > Log: > paranoia - set thigns we free to nullin case a side-effect of a later > call calls some callback that somehow accesses the bd we are > freeing... :) > > > > Author: raster > Date: 2013-02-14 05:02:56 -0800 (Thu, 14 Feb 2013) > New Revision: 83892 > Trac: http://trac.enlightenment.org/e/changeset/83892 > > Modified: > trunk/e/src/bin/e_border.c > > Modified: trunk/e/src/bin/e_border.c > =================================================================== > --- trunk/e/src/bin/e_border.c 2013-02-14 12:54:38 UTC (rev 83891) > +++ trunk/e/src/bin/e_border.c 2013-02-14 13:02:56 UTC (rev 83892) > @@ -5022,37 +5022,51 @@ > bd->already_unparented = 1; > } > if (bd->group) eina_list_free(bd->group); > + bd->group = NULL; > if (bd->transients) eina_list_free(bd->transients); > + bd->transients = NULL; > if (bd->stick_desks) eina_list_free(bd->stick_desks); > + bd->stick_desks = NULL; > if (bd->client.netwm.icons) > { > int i; > for (i = 0; i < bd->client.netwm.num_icons; i++) > free(bd->client.netwm.icons[i].data); > free(bd->client.netwm.icons); > + bd->client.netwm.icons = NULL; > } > free(bd->client.netwm.extra_types); > + bd->client.netwm.extra_types = NULL; > if (bd->client.border.name) > eina_stringshare_del(bd->client.border.name); > + bd->client.border.name = NULL; > if (bd->bordername) > eina_stringshare_del(bd->bordername); > + bd->bordername = NULL; > if (bd->client.icccm.name) > eina_stringshare_del(bd->client.icccm.name); > + bd->client.icccm.name = NULL; > if (bd->client.icccm.class) > { > - if ((!strcasecmp(bd->client.icccm.class, "vmplayer")) || > (!strcasecmp(bd->client.icccm.class, "vmware"))) > + if ((!strcasecmp(bd->client.icccm.class, "vmplayer")) || > + (!strcasecmp(bd->client.icccm.class, "vmware"))) > e_bindings_mapping_change_enable(EINA_TRUE); > eina_stringshare_del(bd->client.icccm.class); > + bd->client.icccm.class = NULL; > } > if (bd->client.icccm.title) > eina_stringshare_del(bd->client.icccm.title); > + bd->client.icccm.title = NULL; > if (bd->client.icccm.icon_name) > eina_stringshare_del(bd->client.icccm.icon_name); > + bd->client.icccm.icon_name = NULL; > if (bd->client.icccm.machine) > eina_stringshare_del(bd->client.icccm.machine); > + bd->client.icccm.machine = NULL; > if (bd->client.icccm.window_role) > eina_stringshare_del(bd->client.icccm.window_role); > - > + bd->client.icccm.window_role = NULL; > + > if ((bd->client.icccm.command.argc > 0) && > (bd->client.icccm.command.argv)) > { > int i; > @@ -5060,24 +5074,36 @@ > for (i = 0; i < bd->client.icccm.command.argc; i++) > free(bd->client.icccm.command.argv[i]); > free(bd->client.icccm.command.argv); > + bd->client.icccm.command.argv = NULL; > } > if (bd->client.netwm.name) > eina_stringshare_del(bd->client.netwm.name); > + bd->client.netwm.name = NULL; > if (bd->client.netwm.icon_name) > eina_stringshare_del(bd->client.netwm.icon_name); > + bd->client.netwm.icon_name = NULL; > e_object_del(E_OBJECT(bd->shape)); > + bd->shape = NULL; > if (bd->internal_icon) eina_stringshare_del(bd->internal_icon); > + bd->internal_icon = NULL; > if (bd->internal_icon_key) eina_stringshare_del(bd->internal_icon_key); > + bd->internal_icon_key = NULL; > if (bd->icon_object) evas_object_del(bd->icon_object); > + bd->icon_object = NULL; > evas_object_del(bd->bg_object); > + bd->bg_object = NULL; > e_canvas_del(bd->bg_ecore_evas); > + bd->bg_ecore_evas = NULL; > ecore_evas_free(bd->bg_ecore_evas); > + bd->bg_ecore_evas = NULL; > ecore_x_window_free(bd->client.shell_win); > + bd->client.shell_win = 0; > e_focus_setdown(bd); > e_bindings_mouse_ungrab(E_BINDING_CONTEXT_WINDOW, bd->win); > e_bindings_wheel_ungrab(E_BINDING_CONTEXT_WINDOW, bd->win); > ecore_x_window_free(bd->win); > - > + bd->win = 0; > + > eina_hash_del(borders_hash, e_util_winid_str_get(bd->client.win), bd); > eina_hash_del(borders_hash, e_util_winid_str_get(bd->bg_win), bd); > eina_hash_del(borders_hash, e_util_winid_str_get(bd->win), bd); > > > > ------------------------------------------------------------------------------ > Free Next-Gen Firewall Hardware Offer > Buy your Sophos next-gen firewall before the end March 2013 > and get the hardware for free! Learn more. > http://p.sf.net/sfu/sophos-d2d-feb > _______________________________________________ > enlightenment-svn mailing list > enlightenment-...@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-svn > ------------------------------------------------------------------------------ Free Next-Gen Firewall Hardware Offer Buy your Sophos next-gen firewall before the end March 2013 and get the hardware for free! Learn more. http://p.sf.net/sfu/sophos-d2d-feb _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel