After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 416702 - Moving clips in simple view is broken
Moving clips in simple view is broken
Status: RESOLVED FIXED
Product: pitivi
Classification: Other
Component: User interface
Git
Other All
: Normal critical
: 0.10.3
Assigned To: Pitivi maintainers
Pitivi maintainers
Depends on:
Blocks:
 
 
Reported: 2007-03-10 06:40 UTC by Brandon Lewis
Modified: 2007-04-13 16:41 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Brandon Lewis 2007-03-10 06:40:56 UTC
Please describe the problem:
If you add two or more clips to the simple view, randomly re-aranging them causes crashes. 

Steps to reproduce:
1. Add at least two clips to the simple timeline
2. Move the first source after the end source
3. Now move it back again.


Actual results:
The application goes into some kind of deadlock. The clip's d&d thumbnail stops tracking cursor movement. The application fails to respond to Ctrl-C, or xkill. The only way to stop it is to manually kill the python intepreter

Expected results:
I would expect the sources to end up in the right place

Does this happen every time?
Almost always.

Other information:
Last few dozen lines of debug output

0:00:27.113268000 13078 0x82ad060 DEBUG               python viewer.py:332:_timelineDurationChangedCb: duration : 15575166666
0:00:27.113657000 13078 0x82ad060 DEBUG               python singledecodebin.py:281:do_change_state:<pitivi+elements+singledecodebin+singledecodebin2> transition:<enum 27 of type GstStateChange>
0:00:27.113874000 13078 0x82ad060 DEBUG               python singledecodebin.py:281:do_change_state:<pitivi+elements+singledecodebin+singledecodebin0> transition:<enum 27 of type GstStateChange>
0:00:27.149213000 13078 0x82ad060 DEBUG               python singledecodebin.py:281:do_change_state:<pitivi+elements+singledecodebin+singledecodebin0> transition:<enum 27 of type GstStateChange>
0:00:27.250925000 13078 0x82ad060 INFO                python objects.py:201:_setStartDurationTime:<source-file:///home/dotsony/Desktop/Test%20Movies/100_2850.MOV-audio2> start:0:00:00.000000000 , duration:CLOCK_TIME_NONE
0:00:27.251179000 13078 0x82ad060 DEBUG               python objects.py:217:_startDurationChangedCb:<source-file:///home/dotsony/Desktop/Test%20Movies/100_2850.MOV-audio2> property:start
0:00:27.251339000 13078 0x82ad060 INFO                python complexinterface.py:115:startDurationChanged: start/duration changed
0:00:27.251506000 13078 0x82ad060 DEBUG               python tracklayer.py:199:_childStartDurationChangedCb: <TimelineFileSource file:///home/dotsony/Desktop/Test%20Movies/100_2850.MOV> start:0:00:00.000000000 duration:0:00:05.990333333
0:00:27.251791000 13078 0x86613f8 LOG                 python viewer.py:176:_videosinkCapsNotifyCb: caps:video/x-raw-yuv, width=(int)320, height=(int)240, framerate=(fraction)360000/17971, format=(fourcc)I420, pixel-aspect-ratio=(fraction)1/1
0:00:27.252087000 13078 0x86613f8 LOG                 python viewer.py:176:_videosinkCapsNotifyCb: caps:video/x-raw-yuv, width=(int)320, height=(int)240, framerate=(fraction)360000/17971, format=(fourcc)I420, pixel-aspect-ratio=(fraction)1/1
0:00:27.252507000 13078 0x82ad060 LOG                 python complexinterface.py:71:getPixelPosition: Got start time 0:00:00.000000000, returning offset 0
0:00:27.252856000 13078 0x82ad060 DEBUG               python objects.py:217:_startDurationChangedCb:<composition-audiocomp> property:duration
0:00:27.252974000 13078 0x82ad060 DEBUG               python objects.py:231:_startDurationChangedCb:<composition-audiocomp> duration changed:0:00:15.575166666
0:00:27.253101000 13078 0x82ad060 INFO                python complexinterface.py:115:startDurationChanged: start/duration changed
0:00:27.253395000 13078 0x82ad060 LOG                 python complexinterface.py:60:getPixelWidth: Got time 0:00:15.575166666, returning width : 155
0:00:27.253488000 13078 0x82ad060 INFO                python tracklayer.py:88:_compStartDurationChangedCb: setting width-request to 165
0:00:27.253657000 13078 0x82ad060 LOG                 python complexinterface.py:60:getPixelWidth: Got time 0:00:15.575166666, returning width : 155
0:00:27.253859000 13078 0x82ad060 LOG                 python complexinterface.py:60:getPixelWidth: Got time 0:00:15.575166666, returning width : 155
0:00:27.253979000 13078 0x82ad060 INFO                python complexinterface.py:115:startDurationChanged: start/duration changed
0:00:27.254584000 13078 0x82ad060 DEBUG               python singledecodebin.py:281:do_change_state:<pitivi+elements+singledecodebin+singledecodebin3> transition:<enum 27 of type GstStateChange>
0:00:27.254813000 13078 0x82ad060 DEBUG               python singledecodebin.py:281:do_change_state:<pitivi+elements+singledecodebin+singledecodebin1> transition:<enum 27 of type GstStateChange>
Comment 1 Jean-François Fortin Tam 2007-03-21 03:38:59 UTC
I can confirm this. To reproduce on my side:
1- add 3 clips on the timeline
2- move #3 at position #2, and move it back at #3 again
Comment 2 Edward Hervey 2007-03-25 13:46:26 UTC
Same thing in svn. It's in fact completely broken. This is a good example of something for which we need unit tests in order to test whether adding/removing/moving sources in timeline is correct.
Comment 3 Edward Hervey 2007-04-13 16:41:15 UTC
Fixed along with unit tests to make sure it doesn't happen again.

2007-04-13  Edward Hervey  <edward@fluendo.com>

	* pitivi/timeline/composition.py:
	Adjust the new position of the source when moving it further in time
	only.
	Fixes #416702
	* tests/test_timeline_composition.py:
	Unit tests for composition.moveSource().