help



I'm developing software by gtk+-1.2.10.
I have problem in using gtk.
I created container widget and then packed several widgets in it.
When I destroy container widget by gtk_widget_destroy, memory was 
not freed.
Widget disappeared in screen, but memory was never freed.

Source code is following....

GtkWidget* Create_MainMenu_Interface ( GtkWidget *MainWindow )
        {
        GtkWidget           *MainVertical_Box;
    GtkWidget           *Sound_Led;
    GtkWidget           *Button_Widget;
    GtkWidget           *FixedWidget;
    GtkWidget           *Mute_EventBox;
        GtkWidget               *Mute_HBox;
    GtkWidget           *Time_Display;
    GtkWidget           *Money_Display;
    GtkWidget           *Balance_Display;
    GtkWidget           *Mileage_Display;
    GdkPixbufAnimation  *MainMenu_Widget_Ani_Gif;
    GList               *MainMenu_Widget_Ani_Frame_List;
    GList               *MainMenu_Widget_Ani_Frame_First;
    GdkPixbufFrame      *MainMenu_Widget_Ani_Frame;
    GdkPixbuf           *MainMenu_Widget_Ani_Pixbuf;
    static gint         MainMenu_Widget_THdl;
    gint                *pMainMenu_Widget_THdl;
        GtkWidget           *MainMenu_Widget_Back;
    GtkWidget           *MainMenu_Widget_Event;
    static gint         MainMenu_Bottom_1_THdl;
    gint                *pMainMenu_Bottom_1_THdl;
    GtkWidget           *MainMenu_Banner1_Back;
    GtkWidget           *MainMenu_Banner1_Event;
    static gint         MainMenu_Bottom_2_THdl;
    gint                *pMainMenu_Bottom_2_THdl;
    GtkWidget           *MainMenu_Banner2_Back;
    GtkWidget           *MainMenu_Banner2_Event;
    static gint         MainMenu_Bottom_3_THdl;
    gint                *pMainMenu_Bottom_3_THdl;
    GtkWidget           *MainMenu_Banner3_Back;
    GtkWidget           *MainMenu_Banner3_Event;
    gchar               szFileName[255];
    GdkColor            clr_fg;
        GtkStyle*           pStyle;

    MainVertical_Box = gtk_vbox_new (FALSE, 0);

////////////////////// 메인메뉴 상단 이미지 픽스드 생성 및 패킹 ////////////////////////////////////

        ImageFixed_Create_And_Packing(MainVertical_Box,"002010601", "/002/002010601",MainWindow);

                ImageButton_Create_And_Packing( "002010601", "002030501", "/002/002030501",
                                        "/002/002030502", 493, 16, MainWindow );

        ImageButton_Create_And_Packing( "002010601", "002040501", "/002/002040501",
                                        "/002/002040502", 599, 16, MainWindow );

        ImageButton_Create_And_Packing( "002010601", "002050501", "/002/002050501",
                                        "/002/002050502", 706, 16, MainWindow );

        ImageButton_Create_And_Packing( "002010601", "002060501", "/002/002060501",
                                        "/002/002060502", 812, 16, MainWindow );

        ImageButton_Create_And_Packing( "002010601", "002070501", "/002/002070501",
                                        "/002/002070502", 918, 16, MainWindow );


            Button_Widget = get_widget ( MainWindow, "002030501" );
        gtk_signal_connect (GTK_OBJECT (Button_Widget), "button_release_event",
                        GTK_SIGNAL_FUNC (On_MainMenu_Login_Button_clicked), MainWindow);
        Button_Widget = get_widget ( MainWindow, "002040501" );
        gtk_signal_connect (GTK_OBJECT (Button_Widget), "button_release_event",
                        GTK_SIGNAL_FUNC (On_MainMenu_LangChange_Button_clicked), MainWindow);
        Button_Widget = get_widget ( MainWindow, "002050501" );
        gtk_signal_connect (GTK_OBJECT (Button_Widget), "button_release_event",
                        GTK_SIGNAL_FUNC (On_MainMenu_PublicPhone_Button_clicked), MainWindow);
        Button_Widget = get_widget ( MainWindow, "002060501" );
        gtk_signal_connect (GTK_OBJECT (Button_Widget), "button_release_event",
                        GTK_SIGNAL_FUNC (On_MainMenu_Help_Button_clicked), MainWindow);
        Button_Widget = get_widget ( MainWindow, "002070501" );
        gtk_signal_connect (GTK_OBJECT (Button_Widget), "button_release_event",
                        GTK_SIGNAL_FUNC (On_MainMenu_Exit_Button_clicked), MainWindow);


/////////////////// 메인메뉴 클라이언트 사운드 볼륨 조정 버튼 생성 및 패킹 /////////////////////////

    ImageFixed_Create_And_Packing_ImageFixed( "002010601", "002090601", "/002/002090601",
                                              259, 530, MainWindow );
    Image_Create_And_Packing_Fixed( "002090601", "Sound_Led_1", "/002/002100601",
                                              6, 13, MainWindow );
    Image_Create_And_Packing_Fixed( "002090601", "Sound_Led_2", "/002/002100602",
                                              41, 13, MainWindow );
    Image_Create_And_Packing_Fixed( "002090601", "Sound_Led_3", "/002/002100603",
                                              76, 13, MainWindow );
    Image_Create_And_Packing_Fixed( "002090601", "Sound_Led_4", "/002/002100604",
                                              111, 13, MainWindow );
    Image_Create_And_Packing_Fixed( "002090601", "Sound_Led_5", "/002/002100605",
                                              146, 13, MainWindow );
    if ( Sound_Vol >= 60 )
    {
        Sound_Led = get_widget ( MainWindow, "Sound_Led_1" );
        gtk_widget_show( Sound_Led );
    }
    else
    {
        Sound_Led = get_widget ( MainWindow, "Sound_Led_1" );
        gtk_widget_hide( Sound_Led );
    }
    if ( Sound_Vol >= 70 )
    {
        Sound_Led = get_widget ( MainWindow, "Sound_Led_2" );
        gtk_widget_show( Sound_Led );
    }
    else
    {
        Sound_Led = get_widget ( MainWindow, "Sound_Led_2" );
        gtk_widget_hide( Sound_Led );
    }
    if ( Sound_Vol >= 80 )
    {
        Sound_Led = get_widget ( MainWindow, "Sound_Led_3" );
        gtk_widget_show( Sound_Led );
    }
    else
    {
        Sound_Led = get_widget ( MainWindow, "Sound_Led_3" );
        gtk_widget_hide( Sound_Led );
    }
    if ( Sound_Vol >= 90 )
    {
        Sound_Led = get_widget ( MainWindow, "Sound_Led_4" );
        gtk_widget_show( Sound_Led );
    }
    else
    {
        Sound_Led = get_widget ( MainWindow, "Sound_Led_4" );
        gtk_widget_hide( Sound_Led );
    }
    if ( Sound_Vol >= 100 )
    {
        Sound_Led = get_widget ( MainWindow, "Sound_Led_5" );
        gtk_widget_show( Sound_Led );
    }
    else
    {
        Sound_Led = get_widget ( MainWindow, "Sound_Led_5" );
        gtk_widget_hide( Sound_Led );
    }

    ImageButton_Create_And_Packing( "002010601", "002110501", "/002/002110501",
                                    "/002/002110502", 259, 565, MainWindow );

    FixedWidget = get_widget( MainWindow, "002010601" );

        MpegPlay_GtkSocket = gtk_socket_new();
        gtk_widget_show( MpegPlay_GtkSocket );
        gtk_image_fixed_put( GTK_IMAGE_FIXED( FixedWidget ), MpegPlay_GtkSocket, 94, 211 );
        gtk_widget_set_uposition( MpegPlay_GtkSocket, 94, 211 );
        gtk_widget_set_usize( MpegPlay_GtkSocket, 320, 240 );

    Mute_EventBox = gtk_event_box_new();
    gtk_widget_ref( Mute_EventBox );
    gtk_object_set_data_full( GTK_OBJECT( MainWindow ), "Mute_EventBox", Mute_EventBox,
                                (GtkDestroyNotify) gtk_widget_unref );
    gtk_widget_show( Mute_EventBox );
    gtk_image_fixed_put( GTK_IMAGE_FIXED( FixedWidget ), Mute_EventBox, 326, 565 );
    gtk_widget_set_uposition( Mute_EventBox, 326, 565 );
    gtk_widget_set_usize( Mute_EventBox, 50, 45 );

    Mute_HBox = gtk_hbox_new (FALSE, 0);
    gtk_widget_ref (Mute_HBox);
    gtk_object_set_data_full (GTK_OBJECT (MainWindow), "Mute_HBox", Mute_HBox,
                                (GtkDestroyNotify) gtk_widget_unref);
    gtk_widget_show (Mute_HBox);
    gtk_container_add (GTK_CONTAINER (Mute_EventBox), Mute_HBox);

    ImageFixed_Create_And_Packing_End( Mute_HBox, "Sound_Mute_R_Btn", "/002/002120501", MainWindow);
    ImageFixed_Create_And_Packing_End( Mute_HBox, "Sound_Mute_P_Btn", "/002/002120502", MainWindow);

    if ( Sound_Mute )
    {
        FixedWidget = get_widget( MainWindow, "Sound_Mute_P_Btn" );
        gtk_widget_show( FixedWidget );
        FixedWidget = get_widget( MainWindow, "Sound_Mute_R_Btn" );
        gtk_widget_hide( FixedWidget );
    }
    else
    {
        FixedWidget = get_widget( MainWindow, "Sound_Mute_R_Btn" );
        gtk_widget_show( FixedWidget );
        FixedWidget = get_widget( MainWindow, "Sound_Mute_P_Btn" );
        gtk_widget_hide( FixedWidget );
    }

    ImageButton_Create_And_Packing( "002010601", "002130501", "/002/002130501",
                                    "/002/002130502", 376, 565, MainWindow );


//////////////////// 메인메뉴 클라이언트 부분 생성 및 패킹( 메인메뉴 버튼들 ) //////////////////////

        ImageButton_Create_And_Packing( "002010601", "002140501", "/002/002140501",
                                        "/002/002140502", 562, 176, MainWindow );
        ImageButton_Create_And_Packing( "002010601", "002150501", "/002/002150501",
                                        "/002/002150502", 793, 176, MainWindow );
        ImageButton_Create_And_Packing( "002010601", "002160501", "/002/002160501",
                                        "/002/002160502", 562, 268, MainWindow );
        ImageButton_Create_And_Packing( "002010601", "002170501", "/002/002170501",
                                        "/002/002170502", 793, 268, MainWindow );
        ImageButton_Create_And_Packing( "002010601", "002180501", "/002/002180501",
                                        "/002/002180502", 562, 360, MainWindow );
        ImageButton_Create_And_Packing( "002010601", "002190501", "/002/002190501",
                                        "/002/002190502", 793, 360, MainWindow );
        ImageButton_Create_And_Packing( "002010601", "002200501", "/002/002200501",
                                        "/002/002200502", 562, 452, MainWindow );
        ImageButton_Create_And_Packing( "002010601", "002210501", "/002/002210501",
                                        "/002/002210502", 793, 452, MainWindow );
        ImageButton_Create_And_Packing( "002010601", "002220501", "/002/002220501",
                                        "/002/002220502", 562, 544, MainWindow );
        ImageButton_Create_And_Packing( "002010601", "002230501", "/002/002230501",
                                        "/002/002230502", 793, 544, MainWindow );

        Button_Widget = get_widget ( MainWindow, "002140501" );     // 음성통화버튼.
        gtk_signal_connect (GTK_OBJECT (Button_Widget), "button_release_event",
                        GTK_SIGNAL_FUNC (On_MainMenu_PublicPhone_Button_clicked), MainWindow);

                Button_Widget = get_widget ( MainWindow, "002150501" );     // 정보마당버튼.
        gtk_signal_connect (GTK_OBJECT (Button_Widget), "button_release_event",
                        GTK_SIGNAL_FUNC (On_MainMenu_InfoMain_Button_clicked), MainWindow);

                Button_Widget = get_widget ( MainWindow, "002160501" );     // 화상서비스버튼.
        gtk_signal_connect (GTK_OBJECT (Button_Widget), "button_release_event",
                        GTK_SIGNAL_FUNC (On_MainMenu_PictureMain_Button_clicked), MainWindow);
        
        Button_Widget = get_widget ( MainWindow, "002170501" );     // 인터넷버튼.
        gtk_signal_connect (GTK_OBJECT (Button_Widget), "button_release_event",
                        GTK_SIGNAL_FUNC (On_MainMenu_Internet_Button_clicked), MainWindow);
        
        Button_Widget = get_widget ( MainWindow, "002180501" );     // OberseasCall버튼.
        gtk_signal_connect (GTK_OBJECT (Button_Widget), "button_release_event",
                        GTK_SIGNAL_FUNC (On_MainMenu_OberseasCall_Button_clicked), MainWindow);
        
        Button_Widget = get_widget ( MainWindow, "002190501" );     // 티켓몌매버튼.
        gtk_signal_connect (GTK_OBJECT (Button_Widget), "button_release_event",
                        GTK_SIGNAL_FUNC (On_MainMenu_Ticket_Button_clicked), MainWindow);
        
        Button_Widget = get_widget ( MainWindow, "002200501" );     // 전자화폐버튼.
        gtk_signal_connect (GTK_OBJECT (Button_Widget), "button_release_event",
                        GTK_SIGNAL_FUNC (On_MainMenu_EMoney_Button_clicked), MainWindow);
                        
        Button_Widget = get_widget ( MainWindow, "002210501" );     // 모바일서비스버튼.
        gtk_signal_connect (GTK_OBJECT (Button_Widget), "button_release_event",
                        GTK_SIGNAL_FUNC (On_MainMenu_Mobile_Button_clicked), MainWindow);
        
        Button_Widget = get_widget ( MainWindow, "002220501" );     // 노트북연결버튼.
        gtk_signal_connect (GTK_OBJECT (Button_Widget), "button_release_event",
                        GTK_SIGNAL_FUNC (On_MainMenu_NoteBook_Button_clicked), MainWindow);
        
        Button_Widget = get_widget ( MainWindow, "002230501" );     // 외국인정보버튼.
        gtk_signal_connect (GTK_OBJECT (Button_Widget), "button_release_event",
                        GTK_SIGNAL_FUNC (On_MainMenu_Foreigner_Button_clicked), MainWindow);


///////////////////////////////// 각각의 버튼들에 대한 시그널 등록 /////////////////////////////////

    Button_Widget = get_widget( MainWindow, "002110501");
        gtk_signal_connect (GTK_OBJECT (Button_Widget), "button_release_event",
                        GTK_SIGNAL_FUNC (On_Sound_Vol_Minus_Button_clicked), MainWindow);

        Button_Widget = get_widget( MainWindow, "Mute_EventBox");
        gtk_signal_connect (GTK_OBJECT (Button_Widget), "button_release_event",
                        GTK_SIGNAL_FUNC (On_Sound_Vol_Mute_Button_clicked), MainWindow);

        Button_Widget = get_widget( MainWindow, "002130501");
        gtk_signal_connect (GTK_OBJECT (Button_Widget), "button_release_event",
                        GTK_SIGNAL_FUNC (On_Sound_Vol_Plus_Button_clicked), MainWindow);


////////////////////////////////////////////////////////////////////////////////////////////////////

    FixedWidget = get_widget( MainWindow, "002010601");

    MainMenu_Widget_Event = gtk_event_box_new();
    gtk_widget_ref (MainMenu_Widget_Event);
    gtk_object_set_data_full (GTK_OBJECT (MainWindow), "Top_Widget_Event", MainMenu_Widget_Event,
                             (GtkDestroyNotify) gtk_widget_unref );
    gtk_widget_show (MainMenu_Widget_Event);
        gtk_image_fixed_put( GTK_IMAGE_FIXED( FixedWidget ), MainMenu_Widget_Event, 7, 7 );
    gtk_widget_set_uposition( MainMenu_Widget_Event, 7, 7 );
    gtk_widget_set_usize( MainMenu_Widget_Event, 468, 60 );

    // 배너 클릭 이벤트에 대한 시그널 등록 하는 곳.

        MainMenu_Widget_Back =  gtk_frame_new( NULL );
        gtk_widget_ref (MainMenu_Widget_Back);
        gtk_object_set_data_full (GTK_OBJECT (MainWindow), "Top_Widget_Back", MainMenu_Widget_Back,
                             (GtkDestroyNotify) gtk_widget_unref );
        gtk_widget_show (MainMenu_Widget_Back);
    gtk_container_add( GTK_CONTAINER( MainMenu_Widget_Event ), MainMenu_Widget_Back );

    ExpandResourceFilePath( "/002/002020101", szFileName, sizeof szFileName );
    MainMenu_Widget_Ani_Gif = gdk_pixbuf_animation_new_from_file( szFileName );
    MainMenu_Widget_Ani_Frame_List = gdk_pixbuf_animation_get_frames( MainMenu_Widget_Ani_Gif );
    MainMenu_Widget_Ani_Frame_First = gdk_pixbuf_animation_get_frames( MainMenu_Widget_Ani_Gif );

    MainMenu_Widget_Ani_Frame = MainMenu_Widget_Ani_Frame_List->data;
    MainMenu_Widget_Ani_Pixbuf = gdk_pixbuf_frame_get_pixbuf( MainMenu_Widget_Ani_Frame );

    Top_Ani_Frame_Back = gdk_pixbuf_new( GDK_COLORSPACE_RGB, FALSE, 8,
                                     gdk_pixbuf_get_width( MainMenu_Widget_Ani_Pixbuf ),
                                     gdk_pixbuf_get_height( MainMenu_Widget_Ani_Pixbuf ));

    gtk_object_set_data(GTK_OBJECT (MainWindow), "Top_Widget_Ani_Frame_List",
                                                  MainMenu_Widget_Ani_Frame_List );
    gtk_object_set_data(GTK_OBJECT (MainWindow), "Top_Widget_Ani_Frame_First",
                                                  MainMenu_Widget_Ani_Frame_First );

        if(!strcmp(Country_Code, "kor" ) )    
        {       
                MainMenu_Widget_THdl = gtk_timeout_add( 10, On_Global_Top_kor_Banner_Animation_Gif_Image, 
"2");
        }
        else
        {
                MainMenu_Widget_THdl = gtk_timeout_add( 10, On_Global_Top_eng_Banner_Animation_Gif_Image, 
"2");
        }

    pMainMenu_Widget_THdl = &MainMenu_Widget_THdl;
    gtk_object_set_data(GTK_OBJECT (MainWindow), "Top_Widget_THdl", pMainMenu_Widget_THdl);

////////////////////////////////////////// 하단 상랑의 클릭 ///////////////////////////////////////////////
   

    MainMenu_Banner1_Event = gtk_event_box_new();
    gtk_widget_ref (MainMenu_Banner1_Event);
    gtk_object_set_data_full (GTK_OBJECT (MainWindow), "Bottom_1_Ani_Event", MainMenu_Banner1_Event,
                             (GtkDestroyNotify) gtk_widget_unref );
    gtk_widget_show (MainMenu_Banner1_Event);
        gtk_image_fixed_put( GTK_IMAGE_FIXED( FixedWidget ), MainMenu_Banner1_Event, 7, 700 );
    gtk_widget_set_uposition( MainMenu_Banner1_Event, 7, 700 );
    gtk_widget_set_usize( MainMenu_Banner1_Event, 100, 60 );

        // 배너 클릭 이벤트에 대한 시그널 등록 하는 곳.
        gtk_signal_connect (GTK_OBJECT (MainMenu_Banner1_Event), "button_release_event",
                                        GTK_SIGNAL_FUNC (On_LoveClick_Image_clicked), &g_nServicePageNum);

        MainMenu_Banner1_Back =  gtk_frame_new( NULL );
        gtk_widget_ref (MainMenu_Banner1_Back);
        gtk_object_set_data_full (GTK_OBJECT (MainWindow), "Bottom_1_Ani_Back", MainMenu_Banner1_Back,
                             (GtkDestroyNotify) gtk_widget_unref );
        gtk_widget_show (MainMenu_Banner1_Back);
    gtk_container_add( GTK_CONTAINER( MainMenu_Banner1_Event ), MainMenu_Banner1_Back );
    
    ExpandResourceFilePath( "/002/002240601", szFileName, sizeof szFileName );

    MainMenu_Widget_Ani_Gif = gdk_pixbuf_animation_new_from_file( szFileName );
    MainMenu_Widget_Ani_Frame_List = gdk_pixbuf_animation_get_frames( MainMenu_Widget_Ani_Gif );
    MainMenu_Widget_Ani_Frame_First = gdk_pixbuf_animation_get_frames( MainMenu_Widget_Ani_Gif );
    MainMenu_Widget_Ani_Frame = MainMenu_Widget_Ani_Frame_List->data;
    MainMenu_Widget_Ani_Pixbuf = gdk_pixbuf_frame_get_pixbuf( MainMenu_Widget_Ani_Frame );

    Bottom_1_Ani_Frame_Back = gdk_pixbuf_new( GDK_COLORSPACE_RGB, FALSE, 8,
                                     gdk_pixbuf_get_width( MainMenu_Widget_Ani_Pixbuf ),
                                     gdk_pixbuf_get_height( MainMenu_Widget_Ani_Pixbuf ));

    gtk_object_set_data(GTK_OBJECT (MainWindow), "Bottom_1_Ani_Frame_List",
                                                  MainMenu_Widget_Ani_Frame_List );
    gtk_object_set_data(GTK_OBJECT (MainWindow), "Bottom_1_Ani_Frame_First",
                                                  MainMenu_Widget_Ani_Frame_First );
        
        if(!strcmp(Country_Code, "kor" ) )    
        {       
                MainMenu_Bottom_1_THdl = gtk_timeout_add( 10, 
On_Global_Bottom_kor_1_Banner_Animation_Gif_Image, "2");
        }
        else
        {
                MainMenu_Bottom_1_THdl = gtk_timeout_add( 10, 
On_Global_Bottom_eng_1_Banner_Animation_Gif_Image, "2");
        }

        pMainMenu_Bottom_1_THdl = &MainMenu_Bottom_1_THdl;
    gtk_object_set_data(GTK_OBJECT (MainWindow), "Bottom_1_Ani_THdl", pMainMenu_Bottom_1_THdl);

///////////////////////////////////////////// 하단 이벤트 배너 ///////////////////////////////////////

    MainMenu_Banner2_Event = gtk_event_box_new();
    gtk_widget_ref (MainMenu_Banner2_Event);
    gtk_object_set_data_full (GTK_OBJECT (MainWindow), "Bottom_2_Ani_Event", MainMenu_Banner2_Event,
                             (GtkDestroyNotify) gtk_widget_unref );
    gtk_widget_show (MainMenu_Banner2_Event);
        gtk_image_fixed_put( GTK_IMAGE_FIXED( FixedWidget ), MainMenu_Banner2_Event, 119, 700 );
    gtk_widget_set_uposition( MainMenu_Banner2_Event, 119, 700 );
    gtk_widget_set_usize( MainMenu_Banner2_Event, 468, 60 );

    // 배너 클릭 이벤트에 대한 시그널 등록 하는 곳.

        MainMenu_Banner2_Back =  gtk_frame_new( NULL );
        gtk_widget_ref (MainMenu_Banner2_Back);
        gtk_object_set_data_full (GTK_OBJECT (MainWindow), "Bottom_2_Ani_Back", MainMenu_Banner2_Back,
                             (GtkDestroyNotify) gtk_widget_unref );
        gtk_widget_show (MainMenu_Banner2_Back);
    gtk_container_add( GTK_CONTAINER( MainMenu_Banner2_Event ), MainMenu_Banner2_Back );

    ExpandResourceFilePath( "/002/002250201", szFileName, sizeof szFileName );
    MainMenu_Widget_Ani_Gif = gdk_pixbuf_animation_new_from_file( szFileName );
    MainMenu_Widget_Ani_Frame_List = gdk_pixbuf_animation_get_frames( MainMenu_Widget_Ani_Gif );
    MainMenu_Widget_Ani_Frame_First = gdk_pixbuf_animation_get_frames( MainMenu_Widget_Ani_Gif );

    MainMenu_Widget_Ani_Frame = MainMenu_Widget_Ani_Frame_List->data;
    MainMenu_Widget_Ani_Pixbuf = gdk_pixbuf_frame_get_pixbuf( MainMenu_Widget_Ani_Frame );

    Bottom_2_Ani_Frame_Back = gdk_pixbuf_new( GDK_COLORSPACE_RGB, FALSE, 8,
                                     gdk_pixbuf_get_width( MainMenu_Widget_Ani_Pixbuf ),
                                     gdk_pixbuf_get_height( MainMenu_Widget_Ani_Pixbuf ));

    gtk_object_set_data(GTK_OBJECT (MainWindow), "Bottom_2_Ani_Frame_List",
                                                  MainMenu_Widget_Ani_Frame_List );
    gtk_object_set_data(GTK_OBJECT (MainWindow), "Bottom_2_Ani_Frame_First",
                                                  MainMenu_Widget_Ani_Frame_First );

        if(!strcmp(Country_Code, "kor" ) )    
        {       
                MainMenu_Bottom_2_THdl = gtk_timeout_add( 10, 
On_Global_Bottom_kor_2_Banner_Animation_Gif_Image, "2");
        }
        else
        {
                MainMenu_Bottom_2_THdl = gtk_timeout_add( 10, 
On_Global_Bottom_eng_2_Banner_Animation_Gif_Image, "2");
        }

    pMainMenu_Bottom_2_THdl = &MainMenu_Bottom_2_THdl;
    gtk_object_set_data(GTK_OBJECT (MainWindow), "Bottom_2_Ani_THdl", pMainMenu_Bottom_2_THdl);

//////////////////////////////////////// 하단 도움 말 /////////////////////////////////////////////

        MainMenu_Banner3_Event = gtk_event_box_new();

    gtk_widget_ref (MainMenu_Banner3_Event);
    gtk_object_set_data_full (GTK_OBJECT (MainWindow), "Bottom_3_Ani_Event", MainMenu_Banner3_Event,
                             (GtkDestroyNotify) gtk_widget_unref );
    gtk_widget_show (MainMenu_Banner3_Event);
        gtk_image_fixed_put( GTK_IMAGE_FIXED( FixedWidget ), MainMenu_Banner3_Event, 600, 705 );
    gtk_widget_set_uposition( MainMenu_Banner3_Event, 600, 705 );
    gtk_widget_set_usize( MainMenu_Banner3_Event, 409, 49 );

    // 배너 클릭 이벤트에 대한 시그널 등록 하는 곳.

        MainMenu_Banner3_Back =  gtk_frame_new( NULL );
        gtk_widget_ref (MainMenu_Banner3_Back);
        gtk_object_set_data_full (GTK_OBJECT (MainWindow), "Bottom_3_Ani_Back", MainMenu_Banner3_Back,
                             (GtkDestroyNotify) gtk_widget_unref );
        gtk_widget_show (MainMenu_Banner3_Back);
    gtk_container_add( GTK_CONTAINER( MainMenu_Banner3_Event ), MainMenu_Banner3_Back );

    ExpandResourceFilePath( "/002/002260601", szFileName, sizeof szFileName );
    MainMenu_Widget_Ani_Gif = gdk_pixbuf_animation_new_from_file( szFileName );
    MainMenu_Widget_Ani_Frame_List = gdk_pixbuf_animation_get_frames( MainMenu_Widget_Ani_Gif );
    MainMenu_Widget_Ani_Frame_First = gdk_pixbuf_animation_get_frames( MainMenu_Widget_Ani_Gif );


    MainMenu_Widget_Ani_Frame = MainMenu_Widget_Ani_Frame_List->data;
    MainMenu_Widget_Ani_Pixbuf = gdk_pixbuf_frame_get_pixbuf( MainMenu_Widget_Ani_Frame );

    Bottom_3_Ani_Frame_Back = gdk_pixbuf_new( GDK_COLORSPACE_RGB, FALSE, 8,
                                     gdk_pixbuf_get_width( MainMenu_Widget_Ani_Pixbuf ),
                                     gdk_pixbuf_get_height( MainMenu_Widget_Ani_Pixbuf ));

    gtk_object_set_data(GTK_OBJECT (MainWindow), "Bottom_3_Ani_Frame_List",
                                                  MainMenu_Widget_Ani_Frame_List );
    gtk_object_set_data(GTK_OBJECT (MainWindow), "Bottom_3_Ani_Frame_First",
                                                  MainMenu_Widget_Ani_Frame_First );

        if(!strcmp(Country_Code, "kor" ) )    
        {       
                MainMenu_Bottom_3_THdl = gtk_timeout_add( 10, 
On_Global_Bottom_kor_3_Banner_Animation_Gif_Image, "2");
        }
        else
        {
                MainMenu_Bottom_3_THdl = gtk_timeout_add( 10, 
On_Global_Bottom_eng_3_Banner_Animation_Gif_Image, "2");
        }

    pMainMenu_Bottom_3_THdl = &MainMenu_Bottom_3_THdl;
    gtk_object_set_data(GTK_OBJECT (MainWindow), "Bottom_3_Ani_THdl", pMainMenu_Bottom_3_THdl);

////////////////////////////////////////////////////////////////////////////////////////////////////

    Rgb2Color( 0xffff, 0xffff, 0xffff, &clr_fg );
        pStyle = MakeStyle(&clr_fg, (GdkColor*) 0, FALSE);
        pStyle->font = gdk_font_load("-Misc-Fixed-Medium-R-Normal--15-140-75-75-C-90-KOI8-R");

    FixedWidget = get_widget( MainWindow, "002010601");

    Time_Display = gtk_label_new("00:00:00");
    gtk_widget_ref (Time_Display);
        gtk_object_set_data_full (GTK_OBJECT (MainWindow), "Time_Display", Time_Display,
                             (GtkDestroyNotify) gtk_widget_unref );
    gtk_widget_set_usize(Time_Display, 80, 11 );
    gtk_misc_set_alignment( GTK_MISC( Time_Display ), 1.0, .5 );
    gtk_image_fixed_put( GTK_IMAGE_FIXED( FixedWidget ), Time_Display, 162, 538 );
    gtk_widget_set_uposition( Time_Display, 162, 538 );
    SetStyle(Time_Display, pStyle, FALSE );
    gtk_widget_show( Time_Display );

    Money_Display = gtk_label_new("0");
    gtk_widget_ref (Money_Display);
        gtk_object_set_data_full (GTK_OBJECT (MainWindow), "Money_Display", Money_Display,
                             (GtkDestroyNotify) gtk_widget_unref );
    gtk_widget_set_usize(Money_Display, 80, 11 );
    gtk_misc_set_alignment( GTK_MISC( Money_Display ), 1.0, .5 );
    gtk_image_fixed_put( GTK_IMAGE_FIXED( FixedWidget ), Money_Display, 162, 556 );
    gtk_widget_set_uposition( Money_Display, 162, 556 );
    SetStyle(Money_Display, pStyle, FALSE );
    gtk_widget_show( Money_Display );

    Balance_Display = gtk_label_new("0");
    gtk_widget_ref (Balance_Display);
        gtk_object_set_data_full (GTK_OBJECT (MainWindow), "Balance_Display", Balance_Display,
                             (GtkDestroyNotify) gtk_widget_unref );
    gtk_widget_set_usize(Balance_Display, 80, 11 );
    gtk_misc_set_alignment( GTK_MISC( Balance_Display ), 1.0, .5 );
    gtk_image_fixed_put( GTK_IMAGE_FIXED( FixedWidget ), Balance_Display, 162, 574 );
    gtk_widget_set_uposition( Balance_Display, 162, 574 );
    SetStyle(Balance_Display, pStyle, FALSE );
    gtk_widget_show( Balance_Display );

    Mileage_Display = gtk_label_new("0");
    gtk_widget_ref (Mileage_Display);
        gtk_object_set_data_full (GTK_OBJECT (MainWindow), "Mileage_Display", Mileage_Display,
                             (GtkDestroyNotify) gtk_widget_unref );
    gtk_widget_set_usize(Mileage_Display, 80, 11 );
    gtk_misc_set_alignment( GTK_MISC( Mileage_Display ), 1.0, .5 );
    gtk_image_fixed_put( GTK_IMAGE_FIXED( FixedWidget ), Mileage_Display, 162, 592 );
    gtk_widget_set_uposition( Mileage_Display, 162, 592 );
    SetStyle(Mileage_Display, pStyle, FALSE );
    gtk_widget_show( Mileage_Display );

    On_Money_Display( MainWindow );

    return MainVertical_Box;
}

void Destory_MainMenu_Interface ( GtkWidget *MainWindow )
{
    GtkWidget       *MainVertical_Box;

    MainVertical_Box = get_widget( MainWindow, "MainVertical_Box");
        gtk_widget_destroy( MainVertical_Box );
    MainVertical_Box = NULL;
}


Create_MainMenu_Interface create MainVertical_Box and pack serveral image widgets in it
and then register MainVertical_Box in top widget to "MainVertical_Box".
Destory_MainMenu_Interface destroy MainVertical_Box by gtk_widget_destroy.
Widget disappeared in screen but memory was never freed.
Please help me....




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