update shuttlerc, fix vwdw lock update_position
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / awindowgui.C
index 13e94b9570c4bff7cd57f09478278fe2d199acd7..65e5ba2591b5c30782a936f69fcb27097cfca339 100644 (file)
@@ -357,7 +357,7 @@ int AssetViewPopup::button_press_event()
        MWindow *mwindow = picon->mwindow;
        EDL *edl = mwindow->edl;
        dragging = 0;
-       if( y < bar_h ) {
+       if( y < get_h()/2 ) {
                Indexable *idxbl =
                        picon->indexable ? picon->indexable :
                        picon->edl ? picon->edl : 0;
@@ -399,10 +399,12 @@ int AssetViewPopup::button_press_event()
                vedl->set_outpoint(end);
                vedl->local_session->set_selectionstart(start);
                vedl->local_session->set_selectionend(end);
-               vwindow->update_position(CHANGE_NONE, 0, 1, 0);
+               vwindow->gui->lock_window("AssetViewPopup::button_press_event");
+               vwindow->update_position();
+               vwindow->gui->unlock_window();
                return 1;
        }
-       if( y >= get_h()-bar_h ) {
+       else {
                dragging = 1;
                if( !ctrl_down() && !shift_down() )
                        return cursor_motion_event();
@@ -454,7 +456,9 @@ int AssetViewPopup::cursor_motion_event()
 {
        if( !is_event_win() ) return 0;
        AssetVIconThread *avt = (AssetVIconThread *)vt;
-       if( !avt->vicon || draw_mode != ASSET_VIEW_MEDIA_MAP ) return 0;
+       if( !avt->vicon ||
+           ( draw_mode != ASSET_VIEW_FULL &&
+             draw_mode != ASSET_VIEW_MEDIA_MAP ) ) return 0;
        if( !get_button_down() || get_buttonpress() != LEFT_BUTTON ||
            ctrl_down() || alt_down() || shift_down() )
                return 0;
@@ -512,6 +516,7 @@ void AssetViewPopup::draw_vframe(VFrame *vframe)
        double total_length = edl->tracks->total_length();
        if( !total_length ) total_length = 1;
        for( Track *track=edl->tracks->first; track!=0; track=track->next ) {
+               if( !track->record ) continue;
                for( Edit *edit=track->edits->first; edit!=0; edit=edit->next ) {
                        Indexable *indexable = (Indexable *)edit->asset;
                        if( !indexable ) indexable = (Indexable *)edit->nested_edl;
@@ -1210,14 +1215,6 @@ AWindowGUI::AWindowGUI(MWindow *mwindow, AWindow *awindow)
        video_vframe = 0;               video_icon = 0;
        label_vframe = 0;               label_icon = 0;
 
-       atransition_vframe = 0;         atransition_icon = 0;
-       vtransition_vframe = 0;         vtransition_icon = 0;
-       aeffect_vframe = 0;             aeffect_icon = 0;
-       ladspa_vframe = 0;              ladspa_icon = 0;
-       veffect_vframe = 0;             veffect_icon = 0;
-       ff_aud_vframe = 0;              ff_aud_icon = 0;
-       ff_vid_vframe = 0;              ff_vid_icon = 0;
-
        aeffect_folder_vframe = 0;      aeffect_folder_icon = 0;
        atransition_folder_vframe = 0;  atransition_folder_icon = 0;
        clip_folder_vframe = 0;         clip_folder_icon = 0;