Re: [glade--]Patches related to "Make Separate Class"
Björn Axelsson <[email protected]>
| Newsgroups | gmane.comp.gnome.glademm |
|---|---|
| Message-ID | <[email protected]> |
On Thu, 19 Dec 2002, Christof Petig wrote: > Björn Axelsson schrieb: > > My fix is not very beautiful, as I build a temporary Widget object from > > the tag structure, just to read its CXX_SEPERATE_CLASS property instead > > of reading it directly from the tag structure. But I could not find > > the bug in the tag related classes, so this works mostly as a temporary > > fix. I am also not very confident with the added property check. > > I hope Petig has the time to verify it. (It would help if the code was > > just a little bit better documented :-) > > Critic Accepted. But I other projects drag me away. :-( I realize that there is often little time to document code. And you're doing a great job supporting it so I have no (big) problem with that. > > > > widget.cc > > - This is totally unrelated... gcc 3.0 refuses to compile the newest > > version of this file, as you try to modify a const string. My fix is to > > choose the string contents at initialization time instead. > > I double checked your mail for an attachment. I didn't find one. Oops, my mistake. Attached it now if it still helps... -- Björn Axelsson
diffs.txt
(text/plain, 1.5 KB)
? diffs.txt
? src/diffs.txt
? src/writers/.widget.cc.swp
? src/writers/diffs.txt
Index: src/Cxx_Fileset.cc
===================================================================
RCS file: /cvs/gnome/glade--/src/Cxx_Fileset.cc,v
retrieving revision 1.84
diff -r1.84 Cxx_Fileset.cc
222a223,225
> // We need to access the user constructor for separate classes
> if (w2.getBoolProperty(CXX_SEPERATE_CLASS))
> gc.Include(h.FileName(),true);
Index: src/const_contained_iterator.cc
===================================================================
RCS file: /cvs/gnome/glade--/src/const_contained_iterator.cc,v
retrieving revision 1.38
diff -r1.38 const_contained_iterator.cc
64c64
< { if (ti_w->getBool(CXX_SEPERATE_CLASS))
---
> { if(Widget(*ti_w).getBoolProperty(CXX_SEPERATE_CLASS))
75a76,79
> break;
> }
> if(Widget(*ti_w).getBoolProperty(CXX_SEPERATE_CLASS))
> { DEBUG(std::cerr << "dive(): stopped at inner seperate class sub=" << sub << '\n');
Index: src/writers/widget.cc
===================================================================
RCS file: /cvs/gnome/glade--/src/writers/widget.cc,v
retrieving revision 1.52
diff -r1.52 widget.cc
59,60c59,61
< const std::string drag_context="Glib::RefPtr<Gdk::DragContext>& context";
< if (GTKMM1) drag_context="GdkDragContext *context";
---
> const std::string drag_context=GTKMM1 ?
> "GdkDragContext *context":
> "Glib::RefPtr<Gdk::DragContext>& context";