[omniNotify] new omninotify bug #1561866
ronan
ronan at tampabay.rr.com
Tue Sep 19 23:18:46 BST 2006
I just created a new bug tracker entry (1561866). I think that it is
clear. I have fixed the problem, not only avoiding the segfault, but
providing the missing functionality. The only changes were to the
FilterAdmin (and a new field in the struct that holds filter info). If
you want me to check-in to another branch or tag, let me know; I think
that I have commit permissions. Here is a diff:
Index: lib/FilterAdmin_i.cc
===================================================================
RCS file: /cvsroot/omninotify/omniNotify/lib/Attic/FilterAdmin_i.cc,v
retrieving revision 1.43.2.3
diff -r1.43.2.3 FilterAdmin_i.cc
329c329
< RDI_Assert(fltr, "Filter was not created by READY\n");
---
> //RDI_Assert(fltr, "Filter was not created by READY\n");
333c333,338
< entry.callback_id = fltr->attach_callback_i(held, filter_holder,
need_schange);
---
> if (fltr)
> entry.callback_id = fltr->attach_callback_i(held, filter_holder,
need_schange);
> else
> entry.remote_filter = CosNF::Filter::_duplicate(new_filter);
>
>
385c390,394
< CosNF::Filter_var res = WRAPPED_IMPL2OREF(CosNF::Filter,
entry.filter);
---
> CosNF::Filter_var res;
> if (entry.filter)
> res = WRAPPED_IMPL2OREF(CosNF::Filter, entry.filter);
> else
> res = entry.remote_filter;
421c430,431
< f->fadmin_removal_i(held, entry.callback_id, filter_holder);
---
> if (f)
> f->fadmin_removal_i(held, entry.callback_id, filter_holder);
424c434,435
< WRAPPED_RELEASE_IMPL(f);
---
> if (f)
> WRAPPED_RELEASE_IMPL(f);
438,439c449,453
< entry.filter->fadmin_removal_i(held, entry.callback_id,
filter_holder);
< WRAPPED_RELEASE_IMPL(entry.filter);
---
> if (entry.filter)
> {
> entry.filter->fadmin_removal_i(held, entry.callback_id,
filter_holder);
> WRAPPED_RELEASE_IMPL(entry.filter);
> }
456c470,473
< entry.filter->out_info_descr(str);
---
> if (entry.filter)
> entry.filter->out_info_descr(str);
> else
> str << "Remote Filter \n";
Index: include/CosNotifyFilter_i.h
===================================================================
RCS file: /cvsroot/omninotify/omniNotify/include/Attic/CosNotifyFilter_i.h,v
retrieving revision 1.53.2.3
diff -r1.53.2.3 CosNotifyFilter_i.h
454a455
> CosNF::Filter_var remote_filter;
More information about the omninotify-list
mailing list