[interfacekit] Re: patch for Globals.cpp: _init_interface_kit()
- From: "DarkWyrm" <bpmagic@xxxxxxxxxxxxxxx>
- To: interfacekit@xxxxxxxxxxxxx
- Date: Wed, 17 Dec 2003 06:32:06 -0500 EST
> Hi all.
> I started implementing _init_interface_kit(), I have a patch.
> Here it is:
>
> Index: src/kits/interface/Globals.cpp
> ===================================================================
> RCS file: /cvsroot/open-beos/current/src/kits/interface/Globals.cpp,v
> retrieving revision 1.10
> diff -u -r1.10 Globals.cpp
> --- src/kits/interface/Globals.cpp 4 Oct 2003 19:08:06 -0000
> 1.10
> +++ src/kits/interface/Globals.cpp 17 Dec 2003 07:33:51 -0000
> @@ -28,11 +28,14 @@
> #include <AppServerLink.h>
> #include <GraphicsDefs.h>
> #include <InterfaceDefs.h>
> +#include <Menu.h>
> #include <ServerProtocol.h>
> #include <Screen.h>
> #include <PortMessage.h>
> #include <Roster.h>
> +#include <TextView.h>
>
> +//#include <WidthBuffer.h>
>
> // Private definitions not placed in public headers
> extern "C" void _init_global_fonts();
> @@ -410,14 +413,30 @@
> extern "C" status_t
> _init_interface_kit_()
> {
> - // TODO: Find out what this does and when it's called
> + //BTextView::sWidths = new _BWidthBuffer_;
> +
> + sem_id widthSem = create_sem(1, "TextView WidthBuffer Sem");
> + if (widthSem < 0)
> + return widthSem;
> + BTextView::sWidthSem = widthSem;
> + BTextView::sWidthAtom = 0;
> + status_t result = get_menu_info(&BMenu::sMenuInfo);
> + if (result != B_OK)
> + return result;
> +
> + //TODO: fill the other static members
> +
> + return B_OK;
> }
>
>
> extern "C" status_t
> _fini_interface_kit_()
> {
> - // TODO: Find out what this does and when it's called
> + // TODO: Implement me.
> + // XXX: How can this method delete what _init_interface_kit()
> created,
> + // since we are not a friend of BTextView, etc. ?
> + return B_OK;
> }
>
>
>
> Can I apply it ?
>
> For the XXX in _fini_interface_kit(), here's the idea: We can keep
> some globals (static in the Globals.cpp file, and filled by
_init_interface_kit()) which _fini_interface_kit() will operate on,
since it can't do anything to those class members, since it's not a
friend of them.
>
> WidthBuffer constructor is commented, for now, because I need to move
> its header to ../private/interface.
Looks OK to me. IIRC, fini_interface_kit should be able to delete
BTextView's semaphore if you simply save the value in a static global.
--DW
- References:
- [interfacekit] patch for Globals.cpp: _init_interface_kit()
- From: burton666@xxxxxxxxx
Other related posts:
- » [interfacekit] patch for Globals.cpp: _init_interface_kit()
- » [interfacekit] Re: patch for Globals.cpp: _init_interface_kit()
- » [interfacekit] Re: patch for Globals.cpp: _init_interface_kit()
- » [interfacekit] Re: patch for Globals.cpp: _init_interface_kit()
- » [interfacekit] Re: patch for Globals.cpp: _init_interface_kit()
- » [interfacekit] Re: patch for Globals.cpp: _init_interface_kit()
- » [interfacekit] Re: patch for Globals.cpp: _init_interface_kit()
- » [interfacekit] Re: patch for Globals.cpp: _init_interface_kit()
- » [interfacekit] Re: patch for Globals.cpp: _init_interface_kit()
- » [interfacekit] Re: patch for Globals.cpp: _init_interface_kit()
- » [interfacekit] Re: patch for Globals.cpp: _init_interface_kit()
- » [interfacekit] Re: patch for Globals.cpp: _init_interface_kit()
- [interfacekit] patch for Globals.cpp: _init_interface_kit()
- From: burton666@xxxxxxxxx