Hello community,

here is the log from the commit of package gtkwave for openSUSE:Factory checked 
in at 2012-11-02 17:36:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gtkwave (Old)
 and      /work/SRC/openSUSE:Factory/.gtkwave.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gtkwave", Maintainer is ""

Changes:
--------
--- /work/SRC/openSUSE:Factory/gtkwave/gtkwave.changes  2012-10-04 
19:39:58.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.gtkwave.new/gtkwave.changes     2012-11-02 
17:36:35.000000000 +0100
@@ -1,0 +2,13 @@
+Wed Oct 31 18:33:11 UTC 2012 - dmi...@roshchin.org
+
+- Update to version 3.3.41
+  * Fix for gtkwave::addSignalsFromList when encountering
+    signals of form a.b.MyBus[7:0] and a.b.MyBus[15:8] such
+    that brackets aren't stripped.
+  * Added experimental highlight_wavewindow rc variable which
+    allows signals also to be highlighted in the wave window
+    using the value for color_grid.
+  * Added use_standard_trace_select rc variable and related
+    menu option.
+
+-------------------------------------------------------------------

Old:
----
  gtkwave-3.3.40.tar.gz

New:
----
  gtkwave-3.3.41.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gtkwave.spec ++++++
--- /var/tmp/diff_new_pack.A6ojtk/_old  2012-11-02 17:36:38.000000000 +0100
+++ /var/tmp/diff_new_pack.A6ojtk/_new  2012-11-02 17:36:38.000000000 +0100
@@ -11,31 +11,32 @@
 # case the license is the MIT License). An "Open Source License" is a
 # license that conforms to the Open Source Definition (Version 1.9)
 # published by the Open Source Initiative.
-#
+
 # Please submit bugfixes or comments via http://bugs.opensuse.org/
 #
 
+
 Name:           gtkwave
-Version:        3.3.40
+Version:        3.3.41
 Release:        0
-License:        GPL-2.0+
 Summary:        Waveform viewer for Ditital Signals
+License:        GPL-2.0+
 Group:          Productivity/Scientific/Electronics
 
 Url:            http://sourceforge.net/projects/gtkwave/
 Source0:        %{name}-%{version}.tar.gz
 
-BuildRequires:  flex
 BuildRequires:  fdupes
+BuildRequires:  flex
 BuildRequires:  gcc-c++
 BuildRequires:  gperf
 BuildRequires:  gtk2-devel
 BuildRequires:  judy-devel
 BuildRequires:  tcl-devel
 BuildRequires:  tk-devel
+BuildRequires:  update-desktop-files
 BuildRequires:  xz-devel
 BuildRequires:  zlib-devel
-BuildRequires:  update-desktop-files
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 

++++++ gtkwave-3.3.40.tar.gz -> gtkwave-3.3.41.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.40/CHANGELOG.TXT 
new/gtkwave-3.3.41/CHANGELOG.TXT
--- old/gtkwave-3.3.40/CHANGELOG.TXT    2012-09-10 22:39:19.000000000 +0200
+++ new/gtkwave-3.3.41/CHANGELOG.TXT    2012-10-30 19:37:45.000000000 +0100
@@ -1253,3 +1253,11 @@
                of GTK2 (as it could be verified on that version).
                Fixed off-by-one buffer string allocation write overflow
                in calloc_2() call in maketraces().
+3.3.41 30sep12 Fix for gtkwave::addSignalsFromList when encountering
+               signals of form a.b.MyBus[7:0] and a.b.MyBus[15:8] such
+               that brackets aren't stripped.
+               Added experimental highlight_wavewindow rc variable which
+               allows signals also to be highlighted in the wave window
+               using the value for color_grid.
+               Added use_standard_trace_select rc variable and related
+               menu option.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.40/LICENSE.TXT 
new/gtkwave-3.3.41/LICENSE.TXT
--- old/gtkwave-3.3.40/LICENSE.TXT      2012-08-16 02:33:19.000000000 +0200
+++ new/gtkwave-3.3.41/LICENSE.TXT      2012-10-30 19:37:45.000000000 +0100
@@ -1,6 +1,6 @@
 ##########################################################################
 
-GTKWave 3.3.40 Wave Viewer is Copyright (C) 1999-2012 Tony Bybell.  
+GTKWave 3.3.41 Wave Viewer is Copyright (C) 1999-2012 Tony Bybell.  
 Portions of GTKWave are Copyright (C) 1999-2012 Udi Finkelstein. 
 Context support is Copyright (C) 2007-2012 Kermin Elliott Fleming.
 Trace group support is  Copyright (C) 2009-2012 Donald Baltus.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.40/configure new/gtkwave-3.3.41/configure
--- old/gtkwave-3.3.40/configure        2012-08-16 02:33:19.000000000 +0200
+++ new/gtkwave-3.3.41/configure        2012-10-30 19:37:45.000000000 +0100
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.63 for gtkwave 3.3.40.
+# Generated by GNU Autoconf 2.63 for gtkwave 3.3.41.
 #
 # Report bugs to <byb...@rocketmail.com>.
 #
@@ -596,8 +596,8 @@
 # Identity of this package.
 PACKAGE_NAME='gtkwave'
 PACKAGE_TARNAME='gtkwave'
-PACKAGE_VERSION='3.3.40'
-PACKAGE_STRING='gtkwave 3.3.40'
+PACKAGE_VERSION='3.3.41'
+PACKAGE_STRING='gtkwave 3.3.41'
 PACKAGE_BUGREPORT='byb...@rocketmail.com'
 
 ac_unique_file="src/vcd.c"
@@ -1386,7 +1386,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures gtkwave 3.3.40 to adapt to many kinds of systems.
+\`configure' configures gtkwave 3.3.41 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1452,7 +1452,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of gtkwave 3.3.40:";;
+     short | recursive ) echo "Configuration of gtkwave 3.3.41:";;
    esac
   cat <<\_ACEOF
 
@@ -1589,7 +1589,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-gtkwave configure 3.3.40
+gtkwave configure 3.3.41
 generated by GNU Autoconf 2.63
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1603,7 +1603,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by gtkwave $as_me 3.3.40, which was
+It was created by gtkwave $as_me 3.3.41, which was
 generated by GNU Autoconf 2.63.  Invocation command line was
 
   $ $0 $@
@@ -2453,7 +2453,7 @@
 
 # Define the identity of the package.
  PACKAGE='gtkwave'
- VERSION='3.3.40'
+ VERSION='3.3.41'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -14297,7 +14297,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by gtkwave $as_me 3.3.40, which was
+This file was extended by gtkwave $as_me 3.3.41, which was
 generated by GNU Autoconf 2.63.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -14360,7 +14360,7 @@
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_version="\\
-gtkwave config.status 3.3.40
+gtkwave config.status 3.3.41
 configured by $0, generated by GNU Autoconf 2.63,
   with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.40/configure.ac 
new/gtkwave-3.3.41/configure.ac
--- old/gtkwave-3.3.40/configure.ac     2012-08-16 02:33:19.000000000 +0200
+++ new/gtkwave-3.3.41/configure.ac     2012-10-30 19:37:45.000000000 +0100
@@ -2,7 +2,7 @@
 # Process this file with autoconf to produce a configure script.
 
 AC_PREREQ(2.59)
-AC_INIT(gtkwave, 3.3.40, byb...@rocketmail.com)
+AC_INIT(gtkwave, 3.3.41, byb...@rocketmail.com)
 AC_CONFIG_SRCDIR([src/vcd.c])
 AM_INIT_AUTOMAKE
 AC_CONFIG_HEADER([config.h])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gtkwave-3.3.40/contrib/bundle_for_osx/Info-gtkwave.plist 
new/gtkwave-3.3.41/contrib/bundle_for_osx/Info-gtkwave.plist
--- old/gtkwave-3.3.40/contrib/bundle_for_osx/Info-gtkwave.plist        
2011-12-12 18:35:20.000000000 +0100
+++ new/gtkwave-3.3.41/contrib/bundle_for_osx/Info-gtkwave.plist        
2012-10-30 19:37:36.000000000 +0100
@@ -8,7 +8,7 @@
     <key>CFBundleExecutable</key>
     <string>gtkwave</string>
     <key>CFBundleGetInfoString</key>
-    <string>3.3.29, (C) 1999-2012 Tony Bybell 
http://gtkwave.sourceforge.net</string>
+    <string>3.3.41, (C) 1999-2012 Tony Bybell 
http://gtkwave.sourceforge.net</string>
     <key>CFBundleIconFile</key>
     <string>gtkwave.icns</string>
     <key>CFBundleIdentifier</key>
@@ -18,11 +18,11 @@
     <key>CFBundlePackageType</key>
     <string>APPL</string>
     <key>CFBundleShortVersionString</key>
-    <string>3.3.29</string>
+    <string>3.3.41</string>
     <key>CFBundleSignature</key>
     <string>????</string>
     <key>CFBundleVersion</key>
-    <string>3.3.29</string>
+    <string>3.3.41</string>
     <key>NSHumanReadableCopyright</key>
     <string>Copyright 1999 - 2012 Tony Bybell, GNU General Public 
License.</string>
     <key>LSMinimumSystemVersion</key>
Files old/gtkwave-3.3.40/doc/gtkwave.odt and new/gtkwave-3.3.41/doc/gtkwave.odt 
differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.40/examples/gtkwaverc 
new/gtkwave-3.3.41/examples/gtkwaverc
--- old/gtkwave-3.3.40/examples/gtkwaverc       2012-03-15 06:48:40.000000000 
+0100
+++ new/gtkwave-3.3.41/examples/gtkwaverc       2012-10-30 19:37:45.000000000 
+0100
@@ -3,6 +3,8 @@
 # (rename to .gtkwaverc and copy 
 # to home directory to be loaded automatically)
 #
+use_standard_trace_select no
+highlight_wavewindow no
 alt_wheel_mode yes
 vcd_preserve_glitches no
 vcd_preserve_glitches_real no
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.40/man/gtkwaverc.5 
new/gtkwave-3.3.41/man/gtkwaverc.5
--- old/gtkwave-3.3.40/man/gtkwaverc.5  2012-03-24 20:47:01.000000000 +0100
+++ new/gtkwave-3.3.41/man/gtkwaverc.5  2012-10-30 19:37:45.000000000 +0100
@@ -79,7 +79,7 @@
 color value for trace groupings.
 .TP
 \fBcolor_grid\fR <\fIvalue\fP>
-grid color (use Alt-G/Shift-Alt-G to show/hide grid).
+grid color (use Alt-G/Shift-Alt-G to show/hide grid).  This is also the color 
used for \fBhighlight_wavewindow\fR when enabled.
 .TP
 \fBcolor_grid2\fR <\fIvalue\fP>
 grid color for secondary pattern search.
@@ -220,6 +220,9 @@
 \fBhier_max_level\fR <\fIvalue\fP>
 Sets the maximum hierarchy depth (from the right side) to display for trace 
names. Note that a value of zero displays the full hierarchy name.
 .TP 
+\fBhighlight_wavewindow\fR <\fIvalue\fP>
+When enabled, this causes traces highlighted in the signal window also to be 
highlighted in the wave window.
+.TP
 \fBhpane_pack\fR <\fIvalue\fP>
 A nonzero value indicates that the horizontal pane should be constructed using 
the gtk_paned_pack functions (default and recommended). A zero value indicates 
that gtk_paned_add will be used instead.
 .TP 
@@ -321,6 +324,9 @@
 \fBuse_standard_clicking\fR <\fIvalue\fP>
 This option no longer has any effect in gtkwave: normal GTK click semantics 
are used in the signalwindow.
 .TP 
+\fBuse_standard_trace_select\fR <\fIvalue\fP>
+A nonzero value keeps the currently selected traces from deselecting on mouse 
button press. This allows drag and drop to function more smoothly.  As this 
behavior is not how GTK normally functions, it is by default disabled.
+.TP 
 \fBuse_toolbutton_interface\fR <\fIvalue\fP>
 A nonzero value indicates that a toolbar with buttons should be at the top of 
the screen instead of the traditional style gtkwave button groups.  Default is 
on.
 .TP
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.40/src/globals.c 
new/gtkwave-3.3.41/src/globals.c
--- old/gtkwave-3.3.40/src/globals.c    2012-08-09 03:25:05.000000000 +0200
+++ new/gtkwave-3.3.41/src/globals.c    2012-10-30 19:37:34.000000000 +0100
@@ -811,6 +811,8 @@
 NULL, /* shift_click_trace 383 */
 0, /* trtarget_signalwindow_c_1 384 */
 NULL, /* starting_unshifted_trace */
+0, /* standard_trace_dnd_degate */
+0, /* use_standard_trace_select */
 1, /* use_standard_clicking */
 0, /* std_collapse_pressed */
 0, /* std_dnd_tgt_on_signalarea */
@@ -1218,6 +1220,7 @@
 /*
  * wavewindow.c
  */
+0, /* highlight_wavewindow */
 1, /* alt_wheel_mode */
 0, /* use_scrollwheel_as_y */
 0, /* enable_slider_zoom */
@@ -1802,6 +1805,8 @@
  new_globals->ps_maxveclen = GLOBALS->ps_maxveclen;
  new_globals->show_base = GLOBALS->show_base;
  new_globals->display_grid = GLOBALS->display_grid;
+ new_globals->highlight_wavewindow = GLOBALS->highlight_wavewindow;
+ new_globals->use_standard_trace_select = GLOBALS->use_standard_trace_select;
  new_globals->use_big_fonts = GLOBALS->use_big_fonts;
  new_globals->use_full_precision = GLOBALS->use_full_precision;
  new_globals->use_frequency_delta = GLOBALS->use_frequency_delta;
@@ -2661,6 +2666,8 @@
                                                        
GLOBALS->use_full_precision = g_old->use_full_precision;
                                                        GLOBALS->show_base = 
g_old->show_base;
                                                        GLOBALS->display_grid = 
g_old->display_grid;
+                                                       
GLOBALS->highlight_wavewindow = g_old->highlight_wavewindow;
+                                                       
GLOBALS->use_standard_trace_select = g_old->use_standard_trace_select;
                                                        
GLOBALS->disable_mouseover = g_old->disable_mouseover;
                                                        GLOBALS->keep_xz_colors 
= g_old->keep_xz_colors;
                                                        
GLOBALS->zoom_pow10_snap = g_old->zoom_pow10_snap;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.40/src/globals.h 
new/gtkwave-3.3.41/src/globals.h
--- old/gtkwave-3.3.40/src/globals.h    2012-08-09 03:25:05.000000000 +0200
+++ new/gtkwave-3.3.41/src/globals.h    2012-10-30 19:37:34.000000000 +0100
@@ -810,6 +810,8 @@
 struct TraceEnt *shift_click_trace; /* from signalwindow.c 411 */
 int trtarget_signalwindow_c_1; /* from signalwindow.c 412 */
 Trptr starting_unshifted_trace; /* from signalwindow.c */
+unsigned char standard_trace_dnd_degate; /* from signalwindow.c */
+unsigned char use_standard_trace_select; /* from signalwindow.c */
 unsigned char use_standard_clicking; /* from signalwindow.c */
 unsigned char std_collapse_pressed; /* from signalwindow.c */
 unsigned char std_dnd_tgt_on_signalarea; /* from signalwindow.c */
@@ -1203,6 +1205,7 @@
 /*
  * wavewindow.c
  */
+char highlight_wavewindow; /* from wavewindow.c */
 char alt_wheel_mode; /* from wavewindow.c */
 char use_scrollwheel_as_y; /* from wavewindow.c */
 char enable_slider_zoom; /* from wavewindow.c */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.40/src/main.c 
new/gtkwave-3.3.41/src/main.c
--- old/gtkwave-3.3.40/src/main.c       2012-07-31 22:56:15.000000000 +0200
+++ new/gtkwave-3.3.41/src/main.c       2012-10-30 19:37:34.000000000 +0100
@@ -107,6 +107,8 @@
 GLOBALS->use_full_precision = g_old->use_full_precision;
 GLOBALS->show_base = g_old->show_base;
 GLOBALS->display_grid = g_old->display_grid;
+GLOBALS->highlight_wavewindow = g_old->highlight_wavewindow;
+GLOBALS->use_standard_trace_select = g_old->use_standard_trace_select;
 GLOBALS->disable_mouseover = g_old->disable_mouseover;
 GLOBALS->keep_xz_colors = g_old->keep_xz_colors;
 GLOBALS->zoom_pow10_snap = g_old->zoom_pow10_snap;
@@ -589,6 +591,8 @@
        GLOBALS->ps_maxveclen = old_g->ps_maxveclen;
        GLOBALS->show_base = old_g->show_base;
        GLOBALS->display_grid = old_g->display_grid;
+       GLOBALS->highlight_wavewindow = old_g->highlight_wavewindow;
+       GLOBALS->use_standard_trace_select = old_g->use_standard_trace_select;
        GLOBALS->use_big_fonts = old_g->use_big_fonts;
        GLOBALS->use_full_precision = old_g->use_full_precision;
        GLOBALS->use_frequency_delta = old_g->use_frequency_delta;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.40/src/menu.c 
new/gtkwave-3.3.41/src/menu.c
--- old/gtkwave-3.3.40/src/menu.c       2012-08-03 22:36:12.000000000 +0200
+++ new/gtkwave-3.3.41/src/menu.c       2012-10-30 19:37:34.000000000 +0100
@@ -1802,6 +1802,49 @@
 #endif
 }
 /**/
+void menu_enable_standard_trace_select(gpointer null_data, guint 
callback_action, GtkWidget *widget)
+{
+if(GLOBALS->helpbox_is_active)
+        {
+        help_text_bold("\n\nStandard Trace Select");
+        help_text(
+               " when enabled,"
+               " keeps the currently selected traces from deselecting on mouse 
button press."
+               " This allows drag and drop to function more smoothly.  As this 
behavior is not"
+               " how GTK normally functions, it is by default disabled."
+        );
+        }
+       else
+       {
+#ifndef WAVE_USE_MLIST_T
+       if(!GLOBALS->use_standard_trace_select)
+               {
+               status_text("Standard Trace Select enabled.\n");
+               GLOBALS->use_standard_trace_select=~0;
+               }
+               else
+               {
+               status_text("Standard Trace Select disabled.\n");
+               GLOBALS->use_standard_trace_select=0;
+               }
+#else
+        GLOBALS->use_standard_trace_select = 
gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(menu_wlist[WV_MENU_ESTS]));
+        if(GLOBALS->use_standard_trace_select)
+                {
+                status_text("Standard Trace Select enabled.\n");
+                }
+                else
+                {
+                status_text("Standard Trace Select disabled.\n");
+                }
+#endif
+       }
+
+#ifndef WAVE_USE_MLIST_T
+GTK_CHECK_MENU_ITEM(gtk_item_factory_get_widget(GLOBALS->item_factory_menu_c_1,
 
menu_items[WV_MENU_ESTS].path))->active=(GLOBALS->use_standard_trace_select)?TRUE:FALSE;
+#endif
+}
+/**/
 void menu_enable_dynamic_resize(gpointer null_data, guint callback_action, 
GtkWidget *widget)
 {
 if(GLOBALS->helpbox_is_active)
@@ -5847,6 +5890,36 @@
 }
 
 /**/
+void menu_show_wave_highlight(gpointer null_data, guint callback_action, 
GtkWidget *widget)
+{
+if(GLOBALS->helpbox_is_active)
+        {
+        help_text_bold("\n\nShow Wave Highlight");
+        help_text(
+               " toggles the drawing of highlighted waveforms (instead of 
gridlines) in the waveform display."
+        );
+        }
+       else
+       {
+#ifndef WAVE_USE_MLIST_T
+       GLOBALS->highlight_wavewindow=(GLOBALS->highlight_wavewindow)?0:~0;
+#else
+       GLOBALS->highlight_wavewindow = 
gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(menu_wlist[WV_MENU_SHW]));
+#endif
+       if(GLOBALS->wave_hslider)
+               {
+               gtk_signal_emit_by_name (GTK_OBJECT 
(GTK_ADJUSTMENT(GLOBALS->wave_hslider)),"changed");
+               gtk_signal_emit_by_name (GTK_OBJECT 
(GTK_ADJUSTMENT(GLOBALS->wave_hslider)),"value_changed");
+               }
+       DEBUG(printf("Show Wave Highlight\n"));
+       }
+
+#ifndef WAVE_USE_MLIST_T
+GTK_CHECK_MENU_ITEM(gtk_item_factory_get_widget(GLOBALS->item_factory_menu_c_1,
 
menu_items[WV_MENU_SHW].path))->active=(GLOBALS->highlight_wavewindow)?TRUE:FALSE;
+#endif
+}
+
+/**/
 void menu_show_mouseover(gpointer null_data, guint callback_action, GtkWidget 
*widget)
 {
 if(GLOBALS->helpbox_is_active)
@@ -6109,11 +6182,15 @@
 
     WAVE_GTKIFE("/View/Show Grid", "<Alt>G", menu_show_grid, WV_MENU_VSG, 
"<ToggleItem>"),
     WAVE_GTKIFE("/View/<separator>", NULL, NULL, WV_MENU_SEP9, "<Separator>"),
+    WAVE_GTKIFE("/View/Show Wave Highlight", NULL, menu_show_wave_highlight, 
WV_MENU_SHW, "<ToggleItem>"),
+    WAVE_GTKIFE("/View/<separator>", NULL, NULL, WV_MENU_SEP9B, "<Separator>"),
     WAVE_GTKIFE("/View/Show Mouseover", NULL, menu_show_mouseover, 
WV_MENU_VSMO, "<ToggleItem>"),
     WAVE_GTKIFE("/View/<separator>", NULL, NULL, WV_MENU_SEP9A, "<Separator>"),
     WAVE_GTKIFE("/View/Show Base Symbols", "<Alt>F1", menu_show_base, 
WV_MENU_VSBS, "<ToggleItem>"),
     WAVE_GTKIFE("/View/<separator>", NULL, NULL, WV_MENU_SEP10, "<Separator>"),
       /* 110 */
+    WAVE_GTKIFE("/View/Standard Trace Select", NULL, 
menu_enable_standard_trace_select, WV_MENU_ESTS, "<ToggleItem>"),
+    WAVE_GTKIFE("/View/<separator>", NULL, NULL, WV_MENU_SEP10A, 
"<Separator>"),
     WAVE_GTKIFE("/View/Dynamic Resize", "<Alt>9", menu_enable_dynamic_resize, 
WV_MENU_VDR, "<ToggleItem>"),
     WAVE_GTKIFE("/View/<separator>", NULL, NULL, WV_MENU_SEP11, "<Separator>"),
     WAVE_GTKIFE("/View/Center Zooms", "F8", menu_center_zooms, WV_MENU_VCZ, 
"<ToggleItem>"),
@@ -6230,6 +6307,8 @@
 
 
GTK_CHECK_MENU_ITEM(gtk_item_factory_get_widget(GLOBALS->item_factory_menu_c_1, 
menu_items[WV_MENU_VSG].path))->active=(GLOBALS->display_grid)?TRUE:FALSE;
 
+GTK_CHECK_MENU_ITEM(gtk_item_factory_get_widget(GLOBALS->item_factory_menu_c_1,
 
menu_items[WV_MENU_SHW].path))->active=(GLOBALS->highlight_wavewindow)?TRUE:FALSE;
+
 
GTK_CHECK_MENU_ITEM(gtk_item_factory_get_widget(GLOBALS->item_factory_menu_c_1, 
menu_items[WV_MENU_HSWM].path))->active=(GLOBALS->alt_wheel_mode)?TRUE:FALSE;
 
 
GTK_CHECK_MENU_ITEM(gtk_item_factory_get_widget(GLOBALS->item_factory_menu_c_1,menu_items[WV_MENU_VSMO].path))->active=(GLOBALS->disable_mouseover)?FALSE:TRUE;
@@ -6238,6 +6317,8 @@
 
 
GTK_CHECK_MENU_ITEM(gtk_item_factory_get_widget(GLOBALS->item_factory_menu_c_1, 
menu_items[WV_MENU_VDR].path))->active=(GLOBALS->do_resize_signals)?TRUE:FALSE;
 
+GTK_CHECK_MENU_ITEM(gtk_item_factory_get_widget(GLOBALS->item_factory_menu_c_1,
 
menu_items[WV_MENU_ESTS].path))->active=(GLOBALS->use_standard_trace_select)?TRUE:FALSE;
+
 
GTK_CHECK_MENU_ITEM(gtk_item_factory_get_widget(GLOBALS->item_factory_menu_c_1, 
menu_items[WV_MENU_VCMU].path))->active=(GLOBALS->constant_marker_update)?TRUE:FALSE;
 
 
GTK_CHECK_MENU_ITEM(gtk_item_factory_get_widget(GLOBALS->item_factory_menu_c_1, 
menu_items[WV_MENU_VCZ].path))->active=(GLOBALS->do_zoom_center)?TRUE:FALSE;
@@ -6278,12 +6359,14 @@
 
 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menu_wlist[WV_MENU_VZPS]), 
GLOBALS->zoom_pow10_snap);
 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menu_wlist[WV_MENU_VSG]), 
GLOBALS->display_grid);
+gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menu_wlist[WV_MENU_SHW]), 
GLOBALS->highlight_wavewindow);
 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menu_wlist[WV_MENU_HSWM]), 
GLOBALS->alt_wheel_mode);
 
 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menu_wlist[WV_MENU_VSMO]), 
!GLOBALS->disable_mouseover);
 
 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menu_wlist[WV_MENU_VSBS]), 
GLOBALS->show_base);
 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menu_wlist[WV_MENU_VDR]), 
GLOBALS->do_resize_signals);
+gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menu_wlist[WV_MENU_ESTS]), 
GLOBALS->use_standard_trace_select);
 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menu_wlist[WV_MENU_VCMU]), 
GLOBALS->constant_marker_update);
 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menu_wlist[WV_MENU_VCZ]), 
GLOBALS->do_zoom_center);
 gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menu_wlist[WV_MENU_VDRV]), 
GLOBALS->use_roundcaps);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.40/src/menu.h 
new/gtkwave-3.3.41/src/menu.h
--- old/gtkwave-3.3.40/src/menu.h       2012-08-01 00:00:43.000000000 +0200
+++ new/gtkwave-3.3.41/src/menu.h       2012-10-30 19:37:34.000000000 +0100
@@ -242,10 +242,14 @@
 WV_MENU_MLKOFF,
 WV_MENU_VSG,
 WV_MENU_SEP9,
+WV_MENU_SHW,
+WV_MENU_SEP9B,
 WV_MENU_VSMO,
 WV_MENU_SEP9A,
 WV_MENU_VSBS,
 WV_MENU_SEP10,
+WV_MENU_ESTS,
+WV_MENU_SEP10A,
 WV_MENU_VDR,
 WV_MENU_SEP11,
 WV_MENU_VCZ,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.40/src/rc.c new/gtkwave-3.3.41/src/rc.c
--- old/gtkwave-3.3.40/src/rc.c 2012-08-01 00:00:43.000000000 +0200
+++ new/gtkwave-3.3.41/src/rc.c 2012-10-30 19:37:34.000000000 +0100
@@ -319,6 +319,13 @@
 return(0);
 }
 
+int f_highlight_wavewindow(char *str)
+{
+DEBUG(printf("f_highlight_wavewindow(\"%s\")\n",str));
+GLOBALS->highlight_wavewindow=atoi_64(str)?1:0;
+return(0);
+}
+
 int f_ignore_savefile_pane_pos(char *str)
 {
 DEBUG(printf("f_ignore_savefile_pane_pos(\"%s\")\n",str));
@@ -488,17 +495,17 @@
 return(0);
 }
 
-int f_use_full_precision(char *str)
+int f_use_frequency_display(char *str)
 {
-DEBUG(printf("f_use_full_precision(\"%s\")\n",str));
-GLOBALS->use_full_precision=atoi_64(str)?1:0;
+DEBUG(printf("f_use_frequency_display(\"%s\")\n",str));
+GLOBALS->use_frequency_delta=atoi_64(str)?1:0;
 return(0);
 }
 
-int f_use_frequency_display(char *str)
+int f_use_full_precision(char *str)
 {
-DEBUG(printf("f_use_frequency_display(\"%s\")\n",str));
-GLOBALS->use_frequency_delta=atoi_64(str)?1:0;
+DEBUG(printf("f_use_full_precision(\"%s\")\n",str));
+GLOBALS->use_full_precision=atoi_64(str)?1:0;
 return(0);
 }
 
@@ -565,6 +572,13 @@
 return(0);
 }
 
+int f_use_standard_trace_select(char *str)
+{
+DEBUG(printf("f_f_use_standard_trace_select(\"%s\")\n",str));
+GLOBALS->use_standard_trace_select=atoi_64(str)?1:0;
+return(0);
+}
+
 int f_use_toolbutton_interface(char *str)
 {
 DEBUG(printf("f_use_toolbutton_interface(\"%s\")\n",str));
@@ -815,6 +829,7 @@
 { "hier_delimeter", f_hier_delimeter },
 { "hier_grouping", f_hier_grouping },
 { "hier_max_level", f_hier_max_level },
+{ "highlight_wavewindow", f_highlight_wavewindow },
 { "hpane_pack", f_hpane_pack },
 { "ignore_savefile_pane_pos", f_ignore_savefile_pane_pos },
 { "ignore_savefile_pos", f_ignore_savefile_pos },
@@ -848,6 +863,7 @@
 { "use_scrollbar_only", f_use_scrollbar_only },
 { "use_scrollwheel_as_y", f_use_scrollwheel_as_y },
 { "use_standard_clicking", f_use_standard_clicking },
+{ "use_standard_trace_select", f_use_standard_trace_select },
 { "use_toolbutton_interface", f_use_toolbutton_interface },
 { "vcd_explicit_zero_subscripts", f_vcd_explicit_zero_subscripts },
 { "vcd_preserve_glitches", f_vcd_preserve_glitches },
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.40/src/signalwindow.c 
new/gtkwave-3.3.41/src/signalwindow.c
--- old/gtkwave-3.3.40/src/signalwindow.c       2012-08-09 03:25:05.000000000 
+0200
+++ new/gtkwave-3.3.41/src/signalwindow.c       2012-10-30 19:37:34.000000000 
+0100
@@ -203,6 +203,7 @@
 
 GLOBALS->dnd_cursor_timer = 0;
 GLOBALS->dnd_state = 0;
+GLOBALS->standard_trace_dnd_degate = 1;
 }
 
 /*
@@ -1136,8 +1137,9 @@
                        if(t) { t->flags |= TR_HIGHLIGHT; }  /* scan-build */
                        }
                }
-       /*      else if(!(t->flags & TR_HIGHLIGHT)) Ben Sferrazza suggested fix 
rather than a regular "else" */
-else
+       /*      else if(!(t->flags & TR_HIGHLIGHT)) Ben Sferrazza suggested fix 
rather than a regular "else" 11aug08 */
+       /*      changed to add use_standard_trace_select below to make this 
selectable, Sophana K request 08oct12 */
+else if( (!GLOBALS->use_standard_trace_select) || 
(GLOBALS->standard_trace_dnd_degate) || ((t)&&(!(t->flags & TR_HIGHLIGHT))) )
                {
                GLOBALS->starting_unshifted_trace = t;
 
@@ -1151,6 +1153,8 @@
                if(t) { t->flags |= TR_HIGHLIGHT; } /* scan-build */
                }
 
+       GLOBALS->standard_trace_dnd_degate = 0;
+
        if(event->type == GDK_2BUTTON_PRESS)
          {
            menu_toggle_group(NULL, 0, widget);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.40/src/tcl_commands.c 
new/gtkwave-3.3.41/src/tcl_commands.c
--- old/gtkwave-3.3.40/src/tcl_commands.c       2012-02-23 22:42:57.000000000 
+0100
+++ new/gtkwave-3.3.41/src/tcl_commands.c       2012-10-30 19:37:34.000000000 
+0100
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) Tony Bybell 2008-2009.
+ * Copyright (c) Tony Bybell 2008-2012.
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
@@ -1012,7 +1012,7 @@
                {
                for(i=0;i<l;i++)
                        {
-                       one_entry = make_single_tcl_list_name(elem[i], NULL, 0);
+                       one_entry = make_single_tcl_list_name(elem[i], NULL, 0, 
1); /* keep range */
                        WAVE_OE_ME
                        }
                 free_2(elem);
@@ -1847,6 +1847,7 @@
         GLOBALS->use_full_precision = g_old->use_full_precision;
         GLOBALS->show_base = g_old->show_base;
         GLOBALS->display_grid = g_old->display_grid;
+        GLOBALS->highlight_wavewindow = g_old->highlight_wavewindow;
         GLOBALS->disable_mouseover = g_old->disable_mouseover;
         GLOBALS->zoom_pow10_snap = g_old->zoom_pow10_snap;
                                          
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.40/src/tcl_helper.c 
new/gtkwave-3.3.41/src/tcl_helper.c
--- old/gtkwave-3.3.40/src/tcl_helper.c 2012-03-09 22:50:21.000000000 +0100
+++ new/gtkwave-3.3.41/src/tcl_helper.c 2012-10-30 19:37:34.000000000 +0100
@@ -1306,7 +1306,7 @@
  * ----------------------------------------------------------------------------
  */
 
-char *make_single_tcl_list_name(char *s, char *opt_value, int promote_to_bus)
+char *make_single_tcl_list_name(char *s, char *opt_value, int promote_to_bus, 
int preserve_range)
 {
 char *rpnt = NULL;
 char *pnt, *pnt2;
@@ -1336,6 +1336,7 @@
                }
 
        pnt = s2;
+
        while(*pnt)
                {
                if(*pnt == GLOBALS->hier_delimeter)
@@ -1345,15 +1346,18 @@
                else if(*pnt == '[') { lbrack = pnt; }
                else if(*pnt == ':') { colon  = pnt; }
                else if(*pnt == ']') { rbrack = pnt; }
-
+       
                pnt++;
                }
-
-       if((lbrack && colon && rbrack && ((colon-lbrack)>0) && ((rbrack - 
colon)>0) && ((rbrack-lbrack)>0)) || (lbrack && promote_to_bus))
+       
+       if(!preserve_range) /* added for gtkwave::addSignalsFromList */
                {
-               is_bus = 1;
-               *lbrack = 0;
-               /* len = lbrack - s2; */ /* scan-build */
+               if((lbrack && colon && rbrack && ((colon-lbrack)>0) && ((rbrack 
- colon)>0) && ((rbrack-lbrack)>0)) || (lbrack && promote_to_bus))
+                       {
+                       is_bus = 1;
+                       *lbrack = 0;
+                       /* len = lbrack - s2; */ /* scan-build */
+                       }
                }
 
        names = calloc_2(delim_cnt+1, sizeof(char *));
@@ -1561,7 +1565,7 @@
                 {
                 if((!s->vec_root)||(!GLOBALS->autocoalesce))
                         {
-                       one_entry = make_single_tcl_list_name(s->n->nname, 
NULL, 0);
+                       one_entry = make_single_tcl_list_name(s->n->nname, 
NULL, 0, 0);
                        WAVE_OE_ME
                         }
                         else
@@ -1570,7 +1574,7 @@
                         t=s->vec_root;
                         while(t)
                                 {
-                               one_entry = 
make_single_tcl_list_name(t->n->nname, NULL, 1);
+                               one_entry = 
make_single_tcl_list_name(t->n->nname, NULL, 1, 0);
                                WAVE_OE_ME
 
                                 if(get_s_selected(t))
@@ -1688,14 +1692,14 @@
                                        sprintf(newname, "%s[%d:%d]", 
first_str, lidx, ridx); /* this disappears in make_single_tcl_list_name() but 
might be used in future code */
 
                                        if(!mult_entry) { one_entry = 
make_gtkwave_pid(); WAVE_OE_ME one_entry = strdup_2(netoff); WAVE_OE_ME}
-                                       one_entry = is_from_tcl_command ? 
strdup_2s(newname) : make_single_tcl_list_name(newname, NULL, 0);
+                                       one_entry = is_from_tcl_command ? 
strdup_2s(newname) : make_single_tcl_list_name(newname, NULL, 0, 0);
                                        WAVE_OE_ME
                                        if(!is_from_tcl_command)
                                                {
                                                trace_val = 
give_value_string(t);
                                                if(trace_val)
                                                        {
-                                                       one_entry = 
make_single_tcl_list_name(newname, trace_val, 0);
+                                                       one_entry = 
make_single_tcl_list_name(newname, trace_val, 0, 0);
                                                        WAVE_OE_ME
                                                        free_2(trace_val);
                                                        }
@@ -1737,7 +1741,7 @@
 
                                        sprintf(str+strlen(str), "[%d]", which);
                                        if(!mult_entry) { one_entry = 
make_gtkwave_pid(); WAVE_OE_ME one_entry = strdup_2(netoff); WAVE_OE_ME }
-                                       one_entry = is_from_tcl_command ? 
strdup_2s(str) : make_single_tcl_list_name(str, NULL, 0);
+                                       one_entry = is_from_tcl_command ? 
strdup_2s(str) : make_single_tcl_list_name(str, NULL, 0, 0);
                                        WAVE_OE_ME
 
                                        if((bits)&&(!is_from_tcl_command))
@@ -1748,21 +1752,21 @@
                                                else if(bitnum >= AN_COUNT) 
bitnum = AN_DASH;
 
                                                trace_val_vec_single[0] = 
AN_STR[(int)xfwd[bitnum]];
-                                               one_entry = 
make_single_tcl_list_name(str, trace_val_vec_single, 0);
+                                               one_entry = 
make_single_tcl_list_name(str, trace_val_vec_single, 0, 0);
                                                WAVE_OE_ME
                                                }
                                         }
                                         else
                                         {
                                        if(!mult_entry) { one_entry = 
make_gtkwave_pid(); WAVE_OE_ME one_entry = strdup_2(netoff); WAVE_OE_ME}
-                                       one_entry = is_from_tcl_command ? 
strdup_2s(append_array_row(nodes[i])) : 
make_single_tcl_list_name(append_array_row(nodes[i]), NULL, 0);
+                                       one_entry = is_from_tcl_command ? 
strdup_2s(append_array_row(nodes[i])) : 
make_single_tcl_list_name(append_array_row(nodes[i]), NULL, 0, 0);
                                        WAVE_OE_ME
                                        if(!is_from_tcl_command)
                                                {
                                                trace_val = 
give_value_string(t);
                                                if(trace_val)
                                                        {
-                                                       one_entry = 
make_single_tcl_list_name(append_array_row(nodes[i]), trace_val, 0);
+                                                       one_entry = 
make_single_tcl_list_name(append_array_row(nodes[i]), trace_val, 0, 0);
                                                        WAVE_OE_ME
                                                        free_2(trace_val);
                                                        }
@@ -1798,14 +1802,14 @@
 
                                sprintf(str+strlen(str), "[%d]", which);
                                if(!mult_entry) { one_entry = 
make_gtkwave_pid(); WAVE_OE_ME one_entry = strdup_2(netoff); WAVE_OE_ME}
-                               one_entry = is_from_tcl_command ? 
strdup_2s(str) : make_single_tcl_list_name(str, NULL, 0);
+                               one_entry = is_from_tcl_command ? 
strdup_2s(str) : make_single_tcl_list_name(str, NULL, 0, 0);
                                WAVE_OE_ME
                                if(!is_from_tcl_command)
                                        {
                                        trace_val = give_value_string(t);
                                        if(trace_val)
                                                {
-                                               one_entry = 
make_single_tcl_list_name(str, trace_val, 0);
+                                               one_entry = 
make_single_tcl_list_name(str, trace_val, 0, 0);
                                                WAVE_OE_ME
                                                free_2(trace_val);
                                                }
@@ -1814,14 +1818,14 @@
                                else
                                {
                                if(!mult_entry) { one_entry = 
make_gtkwave_pid(); WAVE_OE_ME one_entry = strdup_2(netoff); WAVE_OE_ME}
-                               one_entry = is_from_tcl_command ? 
strdup_2s(append_array_row(t->n.nd)) : 
make_single_tcl_list_name(append_array_row(t->n.nd), NULL, 0);
+                               one_entry = is_from_tcl_command ? 
strdup_2s(append_array_row(t->n.nd)) : 
make_single_tcl_list_name(append_array_row(t->n.nd), NULL, 0, 0);
                                WAVE_OE_ME
                                if(!is_from_tcl_command)
                                        {
                                        trace_val = give_value_string(t);
                                        if(trace_val)
                                                {
-                                               one_entry = 
make_single_tcl_list_name(append_array_row(t->n.nd), trace_val, 0);
+                                               one_entry = 
make_single_tcl_list_name(append_array_row(t->n.nd), trace_val, 0, 0);
                                                WAVE_OE_ME
                                                free_2(trace_val);
                                                }
@@ -1890,14 +1894,14 @@
                struct symbol *t = s->vec_root;
                 while(t)
                        {
-                        one_entry = make_single_tcl_list_name(t->n->nname, 
NULL, 1);
+                        one_entry = make_single_tcl_list_name(t->n->nname, 
NULL, 1, 0);
                         WAVE_OE_ME
                         break; /* t=t->vec_chain; ...no longer needed as this 
is resolved in process_tcl_list() */
                         }
                 }
                else
                {               
-                one_entry = make_single_tcl_list_name(s->n->nname, NULL, 0);
+                one_entry = make_single_tcl_list_name(s->n->nname, NULL, 0, 0);
                 WAVE_OE_ME
                }
         }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.40/src/tcl_helper.h 
new/gtkwave-3.3.41/src/tcl_helper.h
--- old/gtkwave-3.3.40/src/tcl_helper.h 2011-05-30 04:19:08.000000000 +0200
+++ new/gtkwave-3.3.41/src/tcl_helper.h 2012-10-30 19:37:34.000000000 +0100
@@ -92,7 +92,7 @@
 
 char* zMergeTclList(int argc, const char** argv);
 char** zSplitTclList(const char* list, int* argcPtr);
-char *make_single_tcl_list_name(char *s, char *opt_value, int promote_to_bus);
+char *make_single_tcl_list_name(char *s, char *opt_value, int promote_to_bus, 
int preserve_range);
 
 void make_tcl_interpreter(char *argv[]);
 const char *gtkwavetcl_setvar(const char *name1, const char *val, int flags);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/gtkwave-3.3.40/src/wavewindow.c 
new/gtkwave-3.3.41/src/wavewindow.c
--- old/gtkwave-3.3.40/src/wavewindow.c 2012-08-09 03:25:05.000000000 +0200
+++ new/gtkwave-3.3.41/src/wavewindow.c 2012-10-30 19:37:34.000000000 +0100
@@ -3168,10 +3168,19 @@
 yu=(_y0+_y1)/2;
 ytext=yu-(GLOBALS->wavefont->ascent/2)+GLOBALS->wavefont->ascent;
 
-
 if((GLOBALS->display_grid)&&(GLOBALS->enable_horiz_grid)&&(!kill_grid))
        {
-       gdk_draw_line(GLOBALS->wavepixmap_wavewindow_c_1, 
GLOBALS->gc.gc_grid_wavewindow_c_1,(GLOBALS->tims.start<GLOBALS->tims.first)?(GLOBALS->tims.first-GLOBALS->tims.start)*GLOBALS->pxns:0,
 
liney,(GLOBALS->tims.last<=GLOBALS->tims.end)?(GLOBALS->tims.last-GLOBALS->tims.start)*GLOBALS->pxns:GLOBALS->wavewidth-1,
 liney);
+       if((GLOBALS->highlight_wavewindow) && (t) && (t->flags & TR_HIGHLIGHT) 
&& (!GLOBALS->black_and_white))
+               {
+               gdk_draw_rectangle(GLOBALS->wavepixmap_wavewindow_c_1, 
GLOBALS->gc.gc_grid_wavewindow_c_1, 
+                       TRUE,0, liney - GLOBALS->fontheight, 
+                       GLOBALS->wavewidth, GLOBALS->fontheight);
+               }
+               else
+               {
+               gdk_draw_line(GLOBALS->wavepixmap_wavewindow_c_1, 
GLOBALS->gc.gc_grid_wavewindow_c_1,
+                       
(GLOBALS->tims.start<GLOBALS->tims.first)?(GLOBALS->tims.first-GLOBALS->tims.start)*GLOBALS->pxns:0,
 
liney,(GLOBALS->tims.last<=GLOBALS->tims.end)?(GLOBALS->tims.last-GLOBALS->tims.start)*GLOBALS->pxns:GLOBALS->wavewidth-1,
 liney);
+               }
        }
 
 if((h)&&(GLOBALS->tims.start==h->time))
@@ -3898,10 +3907,26 @@
        Trptr tn = GiveNextTrace(t);
        if((t->flags & TR_ANALOGMASK) && (tn) && (tn->flags & 
TR_ANALOG_BLANK_STRETCH))
                {
+               if((GLOBALS->highlight_wavewindow) && (t) && (t->flags & 
TR_HIGHLIGHT) && (!GLOBALS->black_and_white))
+                       {
+                       gdk_draw_rectangle(GLOBALS->wavepixmap_wavewindow_c_1, 
GLOBALS->gc.gc_grid_wavewindow_c_1,
+                               TRUE,0, liney - GLOBALS->fontheight,
+                               GLOBALS->wavewidth, GLOBALS->fontheight);
+                       }
                }
                else
                {
-               gdk_draw_line(GLOBALS->wavepixmap_wavewindow_c_1, 
GLOBALS->gc.gc_grid_wavewindow_c_1,(GLOBALS->tims.start<GLOBALS->tims.first)?(GLOBALS->tims.first-GLOBALS->tims.start)*GLOBALS->pxns:0,
 
liney,(GLOBALS->tims.last<=GLOBALS->tims.end)?(GLOBALS->tims.last-GLOBALS->tims.start)*GLOBALS->pxns:GLOBALS->wavewidth-1,
 liney);
+               if((GLOBALS->highlight_wavewindow) && (t) && (t->flags & 
TR_HIGHLIGHT) && (!GLOBALS->black_and_white))
+                       {
+                       gdk_draw_rectangle(GLOBALS->wavepixmap_wavewindow_c_1, 
GLOBALS->gc.gc_grid_wavewindow_c_1,
+                               TRUE,0, liney - GLOBALS->fontheight,
+                               GLOBALS->wavewidth, GLOBALS->fontheight);
+                       }
+                       else
+                       {
+                       gdk_draw_line(GLOBALS->wavepixmap_wavewindow_c_1, 
GLOBALS->gc.gc_grid_wavewindow_c_1,
+                               
(GLOBALS->tims.start<GLOBALS->tims.first)?(GLOBALS->tims.first-GLOBALS->tims.start)*GLOBALS->pxns:0,
 
liney,(GLOBALS->tims.last<=GLOBALS->tims.end)?(GLOBALS->tims.last-GLOBALS->tims.start)*GLOBALS->pxns:GLOBALS->wavewidth-1,
 liney);
+                       }
                }
        }
 
@@ -3923,6 +3948,13 @@
                        }
                }       
 
+       if((ext) && (GLOBALS->highlight_wavewindow) && (t) && (t->flags & 
TR_HIGHLIGHT) && (!GLOBALS->black_and_white))
+                {
+                gdk_draw_rectangle(GLOBALS->wavepixmap_wavewindow_c_1, 
GLOBALS->gc.gc_grid_wavewindow_c_1,
+                        TRUE,0, liney,
+                        GLOBALS->wavewidth, GLOBALS->fontheight * ext);
+                }
+
        draw_hptr_trace_vector_analog(t, h, which, ext);
        GLOBALS->tims.start+=GLOBALS->shift_timebase;
        GLOBALS->tims.end+=GLOBALS->shift_timebase;
@@ -4678,10 +4710,26 @@
        Trptr tn = GiveNextTrace(t);
        if((t->flags & TR_ANALOGMASK) && (tn) && (tn->flags & 
TR_ANALOG_BLANK_STRETCH))
                {
+               if((GLOBALS->highlight_wavewindow) && (t) && (t->flags & 
TR_HIGHLIGHT) && (!GLOBALS->black_and_white))
+                       {
+                       gdk_draw_rectangle(GLOBALS->wavepixmap_wavewindow_c_1, 
GLOBALS->gc.gc_grid_wavewindow_c_1,
+                               TRUE,0, liney - GLOBALS->fontheight,
+                               GLOBALS->wavewidth, GLOBALS->fontheight);
+                       }
                }
                else
                {
-               gdk_draw_line(GLOBALS->wavepixmap_wavewindow_c_1, 
GLOBALS->gc.gc_grid_wavewindow_c_1,(GLOBALS->tims.start<GLOBALS->tims.first)?(GLOBALS->tims.first-GLOBALS->tims.start)*GLOBALS->pxns:0,
 
liney,(GLOBALS->tims.last<=GLOBALS->tims.end)?(GLOBALS->tims.last-GLOBALS->tims.start)*GLOBALS->pxns:GLOBALS->wavewidth-1,
 liney);
+               if((GLOBALS->highlight_wavewindow) && (t) && (t->flags & 
TR_HIGHLIGHT) && (!GLOBALS->black_and_white))
+                       {
+                       gdk_draw_rectangle(GLOBALS->wavepixmap_wavewindow_c_1, 
GLOBALS->gc.gc_grid_wavewindow_c_1,
+                               TRUE,0, liney - GLOBALS->fontheight,
+                               GLOBALS->wavewidth, GLOBALS->fontheight);
+                       }
+                       else
+                       {
+                       gdk_draw_line(GLOBALS->wavepixmap_wavewindow_c_1, 
GLOBALS->gc.gc_grid_wavewindow_c_1,
+                               
(GLOBALS->tims.start<GLOBALS->tims.first)?(GLOBALS->tims.first-GLOBALS->tims.start)*GLOBALS->pxns:0,
 
liney,(GLOBALS->tims.last<=GLOBALS->tims.end)?(GLOBALS->tims.last-GLOBALS->tims.start)*GLOBALS->pxns:GLOBALS->wavewidth-1,
 liney);
+                       }
                }
        }
 
@@ -4716,6 +4764,13 @@
                         }
                 }
 
+       if((ext) && (GLOBALS->highlight_wavewindow) && (t) && (t->flags & 
TR_HIGHLIGHT) && (!GLOBALS->black_and_white))
+                {
+                gdk_draw_rectangle(GLOBALS->wavepixmap_wavewindow_c_1, 
GLOBALS->gc.gc_grid_wavewindow_c_1,
+                        TRUE,0, liney,
+                        GLOBALS->wavewidth, GLOBALS->fontheight * ext);
+                }
+
        draw_vptr_trace_analog(t, v, which, ext);
 
        GLOBALS->tims.start+=GLOBALS->shift_timebase;

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to