I tried to fix hang by checking if k>0, while even just printf was enough (I guess race condition somewhere?)
Igor, Andrea, Phyllis - can you test this patch very well with various group/plugin/label moves? On Tue, Sep 12, 2023 at 4:23 PM Andrew Randrianasulu <[email protected]> wrote: > > On Tue, Sep 12, 2023 at 3:47 PM Andrew Randrianasulu > <[email protected]> wrote: > > > > So, I tried some of the simples group move moves. > > > > 1) load 28 sec of media (1 audio/1 video mp4). > > > > 2) switch to d&d mode. > > > > 3) double-clic on video track where media piece is. > > > > It highlight it and add both A and V to group (observe little lines > > highlighting them) > > > > try to drag group somewhere. > > > > It usually works one time but not second. > > > > dump reads: > > > > BC_Signals::dump_stack > > cin() [0x88b2082] > > linux-gate.so.1(__kernel_rt_sigreturn+0) [0xf7ec8570] > > cin() [0x85e6032] > > cin(_ZN3EDL18delete_edit_labelsEP9ArrayListIP4EditEi+0x43) [0x85e82d3] > > cin(_ZN7MWindow10move_groupEP3EDLP5Trackdi+0xa9) [0x86b6eb9] > > cin(_ZN11TrackCanvas9drag_stopEPi+0x3bf) [0x87c708f] > > cin(_ZN10MWindowGUI9drag_stopEv+0x4f) [0x86c11df] > > cin(_ZN11TrackCanvas15drag_stop_eventEv+0x1a) [0x87b6f7a] > > cin(_ZN13BC_WindowBase18dispatch_drag_stopEv+0x683) [0x88d5793] > > cin(_ZN13BC_WindowBase23dispatch_button_releaseEv+0xb8) [0x88d5968] > > cin(_ZN13BC_WindowBase14dispatch_eventEv+0x73e) [0x88e0d0e] > > cin(_ZN13BC_WindowBase10run_windowEv+0x98) [0x88e15b8] > > cin(_ZN7MWindow3runEv+0x31) [0x86d7be1] > > cin(main+0x4cf) [0x83bfdef] > > /lib/libc.so.6(__libc_start_main+0xf9) [0xf5e4d909] > > cin(_start+0x21) [0x83c7fa1] > > > > full dump attached .... > > > > Note I have no labels on timeline at this point ... > > > Interesting, if I lock labels from moving while editing (via > mainwindow icon) I see no hang ...
From 260470de3e65ec72d7f206c4ce21c621bfea53d9 Mon Sep 17 00:00:00 2001 From: Andrew Randrianasulu <[email protected]> Date: Tue, 12 Sep 2023 17:37:14 +0300 Subject: [PATCH] Possible fix for group move hang --- cinelerra-5.1/cinelerra/edl.C | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cinelerra-5.1/cinelerra/edl.C b/cinelerra-5.1/cinelerra/edl.C index 0780ac72..f1886dde 100644 --- a/cinelerra-5.1/cinelerra/edl.C +++ b/cinelerra-5.1/cinelerra/edl.C @@ -929,9 +929,12 @@ void EDL::delete_edit_labels(ArrayList<Edit*> *edits, int collapse) ArrayList<Range> regions; get_edit_regions(edits, regions); int n = regions.size(), k = n; + //printf("delete_edit_label: k= %i\n", k); + if (k>0) { while( --k >= 0 ) { Range &range = regions[k]; labels->clear(range.start, range.end, collapse); + } } } -- 2.35.7
-- Cin mailing list [email protected] https://lists.cinelerra-gg.org/mailman/listinfo/cin

