refresh frame fix, dblclk proxy viewer fix, vicon refresh fix for awdw resize, fix...
[goodguy/history.git] / cinelerra-5.1 / guicast / bcfilebox.C
index ea9c58f5bf04e40177247b91e604196aca8b832a..80cf3320191f37ec35b4096c7f418485292cb71e 100644 (file)
@@ -553,6 +553,7 @@ BC_FileBox::~BC_FileBox()
 
 void BC_FileBox::create_objects()
 {
+       lock_window("BC_FileBox::create_objects");
        int x = 10, y = 10;
        BC_Resources *resources = BC_WindowBase::get_resources();
        int directory_title_margin = MAX(20,
@@ -662,6 +663,7 @@ void BC_FileBox::create_objects()
 
        refresh();
        show_window();
+       unlock_window();
 }
 
 int BC_FileBox::get_listbox_w()
@@ -806,6 +808,7 @@ static inline int ilen(int64_t v)
 
 int BC_FileBox::create_tables(int select_all)
 {
+       int preload_textbox = select_all;
        delete_tables();
        char string[BCTEXTLEN];
        BC_ListBoxItem *new_item;
@@ -831,6 +834,10 @@ int BC_FileBox::create_tables(int select_all)
 //             {
                        if(!is_dir)
                        {
+                               if( preload_textbox ) {
+                                       preload_textbox = 0;
+                                       textbox->update(new_item->get_text());
+                               }
                                int64_t size = file_item->size;
                                if( (size_format == FILEBOX_SIZE_1000 && size >= 1000) ||
                                    (size_format == FILEBOX_SIZE_1024 && size >= 1024) ) {