-
- if(get_edl())
- {
- if(!EQUIV(edl_length, 0))
- {
- if(get_edl()->local_session->preview_end <= 0 ||
- get_edl()->local_session->preview_end > edl_length)
- get_edl()->local_session->preview_end = edl_length;
- if(get_edl()->local_session->preview_start >
- get_edl()->local_session->preview_end)
- get_edl()->local_session->preview_start = 0;
- x1 = (int)(get_edl()->local_session->preview_start / time_per_pixel);
- x2 = (int)(get_edl()->local_session->preview_end / time_per_pixel);
- }
- else
- {
- x1 = 0;
- x2 = get_w();
+ EDL *edl = get_edl();
+ if( edl && !EQUIV(edl_length, 0) ) {
+ double preview_start = edl->local_session->preview_start;
+ double preview_end = edl->local_session->preview_end;
+ if( preview_end < 0 || preview_end > edl_length )
+ preview_end = edl_length;
+ if( preview_end >= preview_start ) {
+ x1 = (int)(preview_start / time_per_pixel);
+ x2 = (int)(preview_end / time_per_pixel);