Mercurial > hg > octave-nkf
changeset 18721:3985333e13fa
maint: Periodic merge of gui-release to default.
author | Rik <rik@octave.org> |
---|---|
date | Sat, 22 Mar 2014 13:41:41 -0700 |
parents | 70cff922a42d (current diff) e7b347dcfc63 (diff) |
children | 5cf9a02732b6 |
files | configure.ac doc/interpreter/contributors.in scripts/gui/listdlg.m |
diffstat | 6 files changed, 56 insertions(+), 41 deletions(-) [+] |
line wrap: on
line diff
--- a/configure.ac +++ b/configure.ac @@ -245,14 +245,14 @@ fi ### Use atomic operations for internal reference counting. This is required -### for thread-safe behavior but incurs a significant slowdown, and is thus -### disabled by default. - -USE_ATOMIC_REFCOUNT=no +### for thread-safe behavior (Qt Handles) but incurs a significant slowdown. +### Enabled by default until a higher performing solution can be found. + +USE_ATOMIC_REFCOUNT=yes AC_ARG_ENABLE([atomic-refcount], - [AS_HELP_STRING([--enable-atomic-refcount], - [use atomic operations for internal reference counting. This is required for thread-safe behavior but does not by itself make Octave internals thread safe.])], - [if test "$enableval" = yes; then USE_ATOMIC_REFCOUNT=yes; fi], []) + [AS_HELP_STRING([--disable-atomic-refcount], + [Do not use atomic operations for internal reference counting. This option is required for thread-safe behavior as used in the GUI's Qt plotting toolkit. Performance for CLI-only builds is improved by disabling this feature.])], + [if test "$enableval" = no; then USE_ATOMIC_REFCOUNT=no; fi], []) if test $USE_ATOMIC_REFCOUNT = yes; then AC_DEFINE(USE_ATOMIC_REFCOUNT, 1, [Define to 1 to use atomic operations for reference counting.]) @@ -3075,17 +3075,19 @@ warn_msg_printed=true fi -if test $USE_ATOMIC_REFCOUNT = yes; then +if test $USE_ATOMIC_REFCOUNT = no; then AC_MSG_WARN([]) - AC_MSG_WARN([Using atomic reference counting.]) + AC_MSG_WARN([atomic reference counting disabled.]) AC_MSG_WARN([This feature allows access to Octave data safely from]) - AC_MSG_WARN([another thread, for instance from a GUI. However this]) - AC_MSG_WARN([results in a small performance penalty in the Octave]) - AC_MSG_WARN([interpreter.]) + AC_MSG_WARN([another thread, and is required when using the GUI's Qt toolkit]) + AC_MSG_WARN([for plotting.]) AC_MSG_WARN([]) +fi +if test $USE_ATOMIC_REFCOUNT = yes; then if test $USE_OCTAVE_ALLOCATOR = yes; then - AC_MSG_WARN([Thread-safe behavior is not guaranteed unless you also]) - AC_MSG_WARN([disable the use of the octave_allocator class.]) + AC_MSG_WARN([Using atomic reference counting.]) + AC_MSG_WARN([Thread-safe behavior is not guaranteed unless the]) + AC_MSG_WARN([octave_allocator class is also disabled.]) AC_MSG_WARN([]) fi warn_msg_printed=true
--- a/doc/interpreter/contributors.in +++ b/doc/interpreter/contributors.in @@ -73,6 +73,7 @@ Stephen Fegan Ramon Garcia Fernandez Torsten Finke +Colin Foster Jose Daniel Munoz Frias Brad Froehle Castor Fu
--- a/scripts/gui/listdlg.m +++ b/scripts/gui/listdlg.m @@ -94,21 +94,21 @@ ## handle key, value pairs for i = 1:2:nargin-1 - if (strcmp (varargin{i}, "ListString")) + if (strcmpi (varargin{i}, "ListString")) listcell = varargin{i+1}; - elseif (strcmp (varargin{i}, "SelectionMode")) + elseif (strcmpi (varargin{i}, "SelectionMode")) selmode = varargin{i+1}; - elseif (strcmp (varargin{i}, "ListSize")) + elseif (strcmpi (varargin{i}, "ListSize")) listsize = varargin{i+1}; - elseif (strcmp (varargin{i}, "InitialValue")) + elseif (strcmpi (varargin{i}, "InitialValue")) initialvalue = varargin{i+1}; - elseif (strcmp (varargin{i}, "Name")) + elseif (strcmpi (varargin{i}, "Name")) name = varargin{i+1}; - elseif (strcmp (varargin{i}, "PromptString")) + elseif (strcmpi (varargin{i}, "PromptString")) prompt = varargin{i+1}; - elseif (strcmp (varargin{i}, "OKString")) + elseif (strcmpi (varargin{i}, "OKString")) okstring = varargin{i+1}; - elseif (strcmp (varargin{i}, "CancelString")) + elseif (strcmpi (varargin{i}, "CancelString")) cancelstring = varargin{i+1}; endif endfor @@ -130,8 +130,8 @@ if (__octave_link_enabled__ ()) [sel, ok] = __octave_link_list_dialog__ (listcell, selmode, listsize, - initialvalue, name, prompt, - okstring, cancelstring); + initialvalue, name, prompt, + okstring, cancelstring); elseif (__have_feature__ ("JAVA")) ## transform matrices to cell arrays of strings ## swap width and height to correct calling format for JDialogBox @@ -146,10 +146,14 @@ okstring, cancelstring); if (numel (ret) > 0) - sel = ret; + sel = zeros (1, numel (ret)); + ## for loop needed to convert Java array ret into Octave double sel + for i = 1:numel (ret) + sel(i) = ret(i); + endfor ok = 1; else - sel = {}; + sel = []; ok = 0; endif else
--- a/scripts/gui/waitbar.m +++ b/scripts/gui/waitbar.m @@ -130,9 +130,7 @@ endif title (ax, msg); - if (! isempty (cf)) - set (0, "currentfigure", cf); - endif + set (0, "currentfigure", cf); endif drawnow ();
--- a/scripts/io/textscan.m +++ b/scripts/io/textscan.m @@ -1,4 +1,4 @@ -## Copyright (C) 2010-2013 Ben Abbott +## Copyright (C) 2010-2014 Ben Abbott ## ## This file is part of Octave. ## @@ -135,6 +135,7 @@ if (! (isempty (args{ipos+1}) && has_str_fmt)) args{ipos+1} = unique ([" ", args{ipos+1}]); endif + whitespace = args{ipos+1}; endif if (! any (strcmpi (args, "delimiter"))) @@ -661,3 +662,7 @@ %! unlink (f); %! assert (msg1, lasterr); +%% Bug #41824 +%!test +%! assert (textscan ("123", "", "whitespace", " "){:}, 123); +
--- a/scripts/java/org/octave/JDialogBox.java +++ b/scripts/java/org/octave/JDialogBox.java @@ -1,5 +1,6 @@ /* +Copyright (C) 2014 Colin Foster Copyright (C) 2010, 2013 Martin Hepperle This file is part of Octave. @@ -551,24 +552,28 @@ { lst[i] = theTranslator.replace (list[i]); } + + JScrollPane scrollPane = new JScrollPane(); m_List = new JList (lst); + scrollPane.setViewportView(m_List); + // replace ugly monospaced font - m_List.setFont (p.getFont ()); + scrollPane.setFont (p.getFont ()); - m_List.setMinimumSize (new Dimension (Math.max (1, - Integer.parseInt (RowsCols[0].toString ())), - Math.max (1, - Integer.parseInt (RowsCols[1].toString ())))); - m_List.setPreferredSize (new Dimension (Math.max (1, - Integer.parseInt (RowsCols[1].toString ())), - Math.max (1, - Integer.parseInt (RowsCols[0].toString ())))); - m_List.setBorder (new javax.swing.border.EtchedBorder ()); + scrollPane.setMinimumSize ( + new Dimension ( + Math.max (1, Integer.parseInt (RowsCols[0].toString ())), + Math.max (1, Integer.parseInt (RowsCols[1].toString ())))); + scrollPane.setPreferredSize ( + new Dimension ( + Math.max (1, Integer.parseInt (RowsCols[1].toString ())), + Math.max (1, Integer.parseInt (RowsCols[0].toString ())))); + scrollPane.setBorder (new javax.swing.border.EtchedBorder ()); gbc.gridy = message.length; gbc.fill = GridBagConstraints.HORIZONTAL; - p.add (m_List, gbc); + p.add (scrollPane, gbc); if (on.toLowerCase ().equals ("single")) {