The following commit has been merged in the master branch:
commit 4fc31e5e708b0aa945abf4f302f9c32bdac5c47f
Author: Andrei Zavada <[email protected]>
Date:   Wed Apr 24 01:35:25 2013 +0300

    update ChangeLog & ICM

diff --git a/ChangeLog b/ChangeLog
index 3f57c94..fccb970 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -9,8 +9,9 @@ v.0.9 (2013-xx-xx)
        * Make all timestamps in sidecar files (a) relative to recording
          start, (b) expressed in seconds, to be consistent with embedded
          annotations.
-       * Fix crash when getting PSD on montage having channels with
+       * Fix a SF crash when getting PSD on montage having channels with
          variable sample rate, on OMP-enabled hosts.
+       * Fix a SF crash with montages with (>'z'-'a') channels.
 
 v.0.8.2 (2013-04-07)
        * Fix GtkScrolledWindow issue in Annotations dialog.
diff --git a/src/ui/sf/montage.cc b/src/ui/sf/montage.cc
index 56943f5..36c2cd4 100644
--- a/src/ui/sf/montage.cc
+++ b/src/ui/sf/montage.cc
@@ -761,44 +761,42 @@ draw_montage( cairo_t* cr)
                }
        }
       // recording-wide annotations
-       if ( not common_annotations.empty() ) {
-               for ( auto &SA : common_annotations ) {
-                       auto &S = *SA.first;
-                       auto &A = *SA.second;
-                       double  cvpa = cur_xvpage_start(),
-                               cvpe = cur_xvpage_end(),
-                               evpz = cvpe - cvpa;
-                       double last_z = 0;
-                       int overlap_count = 0;
-                       if ( agh::alg::overlap( A.span.a, A.span.z, cvpa, cvpe) 
) {
-                               double  aa = A.span.a - cvpa,
-                                       ae = A.span.z - cvpa;
-                               agh::alg::ensure_within( aa, -half_pad, 
-half_pad + evpz);
-                               agh::alg::ensure_within( ae, -half_pad, 
-half_pad + evpz);
-
-                               auto    wa = fmod(aa, evpz) / evpz * da_wd,
-                                       ww = (ae - aa) / evpz * da_wd;
-
-                               if ( A.type == 
sigfile::SAnnotation::TType::plain ) {
-                                       int disp = 0 +
-                                               ((last_z > A.span.a)
-                                                ? ++overlap_count * 5
-                                                : (overlap_count = 0));
-                                       last_z = A.span.z;
-
-                                       
_p.CwB[SExpDesignUI::TColour::sf_embedded_annotations].set_source_rgba( cr);
-
-                                       cairo_set_line_width( cr, 2.5);
-                                       cairo_rectangle( cr, wa, 0, ww, da_ht);
-                                       cairo_fill( cr);
-                                       cairo_stroke( cr);
+       for ( auto &SA : common_annotations ) {
+               auto &S = *SA.first;
+               auto &A = *SA.second;
+               double  cvpa = cur_xvpage_start(),
+                       cvpe = cur_xvpage_end(),
+                       evpz = cvpe - cvpa;
+               double last_z = 0;
+               int overlap_count = 0;
+               if ( agh::alg::overlap( A.span.a, A.span.z, cvpa, cvpe) ) {
+                       double  aa = A.span.a - cvpa,
+                               ae = A.span.z - cvpa;
+                       agh::alg::ensure_within( aa, -half_pad, -half_pad + 
evpz);
+                       agh::alg::ensure_within( ae, -half_pad, -half_pad + 
evpz);
+
+                       auto    wa = fmod(aa, evpz) / evpz * da_wd,
+                               ww = (ae - aa) / evpz * da_wd;
+
+                       if ( A.type == sigfile::SAnnotation::TType::plain ) {
+                               int disp = 0 +
+                                       ((last_z > A.span.a)
+                                        ? ++overlap_count * 5
+                                        : (overlap_count = 0));
+                               last_z = A.span.z;
+
+                               
_p.CwB[SExpDesignUI::TColour::sf_embedded_annotations].set_source_rgba( cr);
+
+                               cairo_set_line_width( cr, 2.5);
+                               cairo_rectangle( cr, wa, 0, ww, da_ht);
+                               cairo_fill( cr);
+                               cairo_stroke( cr);
 
-                                       cairo_select_font_face( cr, "serif", 
CAIRO_FONT_SLANT_ITALIC, CAIRO_FONT_WEIGHT_NORMAL);
-                                       cairo_set_font_size( cr, 11);
-                                       cairo_set_source_rgb( cr, 0., 0., 0.);
-                                       cairo_move_to( cr, fmod(aa, evpz) / 
evpz * da_wd, da_ht - 12 - disp);
-                                       cairo_show_text( cr, A.label.c_str());
-                               }
+                               cairo_select_font_face( cr, "serif", 
CAIRO_FONT_SLANT_ITALIC, CAIRO_FONT_WEIGHT_NORMAL);
+                               cairo_set_font_size( cr, 11);
+                               cairo_set_source_rgb( cr, 0., 0., 0.);
+                               cairo_move_to( cr, fmod(aa, evpz) / evpz * 
da_wd, da_ht - 12 - disp);
+                               cairo_show_text( cr, A.label.c_str());
                        }
                }
        }

-- 
Sleep experiment manager

_______________________________________________
debian-med-commit mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-med-commit

Reply via email to