Page MenuHome

Grease Pencil - Frames.new() doesn't create frame if frame_number <= 0
Closed, ResolvedPublic

Description

--- Operating System, Graphics card ---
Win 7

--- Blender version with error, and version that worked ---
2.69 testbuild 1

--- Short description of error ---
>>> D.grease_pencil['GPencil'].layers['GP_Layer'].frames.new(0) # nothing
>>> D.grease_pencil['GPencil'].layers['GP_Layer'].frames.new(-1) # nothing
>>> D.grease_pencil['GPencil'].layers['GP_Layer'].frames.new(1) # frame created
bpy.data.grease_pencil['GPencil']...GPencilFrame

Although:
ValueError: GPencilFrames.new(): error with argument 1, "frame_number" - Function.frame_number value not in 'int' range ((-2147483647 - 1), 2147483647)

Workaround?
f = D.grease_pencil['GPencil'].layers['GP_Layer'].frames.new(1)
f.frame_number = 0

Changing the frame_number afterwards doesn't seem to care about frames with the same frame_number, Frames.new() does however??

RuntimeError: Error: Frame already exists on this frame number 1


BTW: the eraser is kinda confusing for long line strokes, as you need to touch either of the end points. In some situations, they could be off-screen and user wonders why the stroke doesn't vanish as he/she moves the eraser circle over the line...

Event Timeline

codemanx edited a custom field.Sep 29 2013, 6:38 PM

Fixed in r60426, thanks for the report!

Bastien Montagne (mont29) changed the task status from Unknown Status to Resolved.Sep 29 2013, 8:13 PM