Re: GGV 1.1.96



Michael,

> 	Carry on chopping out code until it works, slowly add it back in; you
> will find the bug; then poke at that; repeat the process on the method
> you added, eventually you will find the bug.
:) The bad thing is that it does not work even with minimal code:

    XkbUIContainer *xkbuicont = xkb_ui_container_new(  );
    BonoboUIEngine *uie = bonobo_ui_engine_new(  );
    Bonobo_Unknown buuicont = BONOBO_OBJREF( xkbuicont );
    BonoboControlFrame *bcf;
    Bonobo_UIContainer ouic;

  newChild = BONOBO_WIDGET( bonobo_widget_new_control( psFileMoniker,
CORBA_OBJECT_NIL ) );

  if( newChild != NULL )        // some error?
  {
    Bonobo_Unknown unknown =
      bonobo_widget_get_objref( newChild );
    BonoboObject obj = ( bonobo_widget_get_server( newChild ) )->parent;
    Bonobo_Zoomable zoomable = bonobo_object_query_interface( &obj,
"IDL:Bonobo/Zoomable:1.0" );
    Bonobo_Control control   = bonobo_object_query_interface( &obj,
"IDL:Bonobo/Control:1.0" );
    gtk_container_add( GTK_CONTAINER( frame ), GTK_WIDGET( newChild ) );
    gtk_widget_show_all( GTK_WIDGET( newChild ) );
    bcf = bonobo_widget_get_control_frame( newChild );
    bonobo_control_frame_control_activate( bcf );

Is there anything I can remove from here? There are no more "ev" things
here. I switched to bonobo_object_query_interface from
Bonobo_Unknown_queryInterface - have I done it right?

> 	This is what most of us have to do with bugs we don't understand; there
I know this method. But it is good when something first works - and then
stops working. Now we have the situation when everything works without
..._activate method call - and this method hangs things...

> is no short-cut to understanding something. If binary chop fails you can
> read the code you wrote, and the code it uses, and so on until you have
> a better understanding of the entire system.
That's the way I'm trying to use. The bad thing is that it hangs deep in
CORBA code and I am not familiar with CORBA enough to understand it:(((

> 	A few points: you cannot pass NULL as an exception parameter to a CORBA
> method, use:
OK. No more NULL exceptions. Actually, no more exceptions at all:)

> void bonobo_control_frame_control_activate
> 		(BonoboControlFrame *control_frame);
Done. Same old story.

> 	Secondly; you cannot trust the return value of a CORBA method without
> first checking the environment eg.:
OK. No environment - no checks:) Actually I hope in this case it's
bonobo who checks and reports CORBA errors. Should it?

> 	If you pass some uninitialized memory into Bonobo_Control_activate,
> that you happened to get from a failed method, it might work to the
> extent that you get odd errors like you are seeing.
I realize this.

I am almost ready to give up with custom verbs for ggv.:( Sad isn't
it?:) Would you'd be able to have a look at the whole thing from
sourceforge cvs, if you have a couple of minutes? Just as a last
resort..

Thank you kindly for support and patience anyway,

Sergey




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