GTK - problem s uzavrenim okna

almara na almara.cz almara na almara.cz
Pátek Listopad 24 11:39:17 CET 2000


Preji dobry den
Zacal jsem experimentovat s GTK a nevim jak vyresit nasledujici problem.

Na hlavnim okne aplikace mam tlacitko, po jehoz stisknuti se mi otevre
jine okno. To zvladam, to funguje. Odkaz na to nove okno mam jako
globalni promennou a okno vytvarim takto:
my_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_signall_connect (GTK_OBJECT (my_window), "destroy", GTK_SIGNAL_FUNC
(closewindow), NULL);

a funkce closewindow je definovana takto:

gint closewindow (GtkWidget *widget, gpointer data) {
  return TRUE;
}

Problem je v tom, ze pokud v tom novem okne neni definovan zadny widget,
tak je vse OK. Jakmile do neho zacnu definovat nejake prvky, tak je
problem pri zavreni toho okna. Okno otevru, zavru. Otevru podruhe, zavru
a v tomto miste mi cela aplikace spadne. Kdyz jsem se dival do core, tak
pada na uvolnovani pameti nekde v knihovne gtk (uvolneni widgetu).

Poradi mi nekdo jak s timto oknem pracovat? Jde mi oto jak ho vytvorit a
zase zavrit aby to bylo korektni. Melo by se chovat jako napr. dialogove
okno pro nastavovani nejakych vlastnosti aplikace (lze otevrit jen jedna
instance, pokud je otevrene, tak se mu preda focus).

Musim nekde volat neco pro uvolneni definovanych widgetu? Pokud ano, tak
kde a jak? V zadnem examplu jsem nic nenasel a v tutorialu taky ne.

Predem moc dekuji

Standa





Další informace o konferenci Linux