bugGNU Octave - Bugs: bug #38449, Changing default*units triggers a...

 
 

bug #38449: Changing default*units triggers a position update

Submitted by:  Muhali <muhali>
Submitted on:  Fri 01 Mar 2013 12:26:40 PM UTC  
 
Category: PlottingSeverity: 3 - Normal
Priority: 5 - NormalItem Group: Incorrect Result
Status: FixedAssigned to: None
Originator Name: Open/Closed: Closed
Release: devOperating System: GNU/Linux

Add a New Comment (Rich MarkupRich Markup):
   

You are not logged in

Please log in, so followups can be emailed to you.

 

(Jump to the original submission Jump to the original submission)

Sat 13 Sep 2014 03:08:40 PM UTC, comment #14:

Yes, I followed your advice and bravely pushed a second one :-)

Pantxo Diribarne <pantxo>
Project Member
Sat 13 Sep 2014 01:04:46 PM UTC, comment #13:

Good. Often the only way to get significant testing done is to push the change.

Ben Abbott <bpabbott>
Project Member
Sat 13 Sep 2014 09:26:14 AM UTC, comment #12:

Hi,

Thank you ben. I went ahead and pushed the changeset (http://hg.savannah.gnu.org/hgweb/octave/rev/dc88c5784f74). Closing bug report.

Pantxo Diribarne <pantxo>
Project Member
Mon 08 Sep 2014 01:12:51 AM UTC, comment #11:

I can confirm the patch fixes the prior examples for figure and axes objects.

I'm not sufficient familiar with Octave's classes to comment on the merits implementation, but I like that the patch is short and simple.

Ben Abbott <bpabbott>
Project Member
Sun 07 Sep 2014 10:37:16 AM UTC, comment #10:

Hi,

I have attached a patch proposal in which I implemented a new class (pval_vector), based on std::vector< std::pair<std::string, octave_value> >. The type which is used to store default properties, pval_map_type, is redefined as a pval_vector instead of a std::map.

I reimplemented some of the std::map methods so that the type change doesn't affect much functions.

Can someone test the patch and eventually comment the approach?

(file #32040)

Pantxo Diribarne <pantxo>
Project Member
Mon 30 Jun 2014 03:11:16 PM UTC, comment #9:

Looks like I have underestimated this task: currently, the default values are stored in a std::map<std::string, octave_value>, which means that the order in which key/values are inserted is lost.
The only solution I can see is to replace this container by an octave_scalar_map or a custom class that keeps track of the order in which the values have been inserted (e.g. std::vector<std::pair<std::string, octave_value>>).

In any case this will involve many more changes than I had expected.

Does someone have another approach?

Pantxo Diribarne <pantxo>
Project Member
Thu 26 Jun 2014 10:46:39 AM UTC, comment #8:

The patch has never been pushed, and it is a good thing.

I had a look a few days ago to this bug and found that my approach was wrong: it makes octave behavior independent of the order in which the default properties have been set by the user (which doesn't match matlab behavior). I'll propose a neww patch in the coming days/week.

Pantxo Diribarne <pantxo>
Project Member
Thu 26 Jun 2014 10:16:11 AM UTC, comment #7:

I still see the bug. Is it possible that the patch never made it into the repository?

Muhali <muhali>
Mon 24 Feb 2014 09:12:27 AM UTC, comment #6:

Thanks Ben.

Pantxo Diribarne <pantxo>
Project Member
Mon 24 Feb 2014 01:57:59 AM UTC, comment #5:

Pantxo, I applied your patch. All tests in graphics.cc passed for me.

Ben Abbott <bpabbott>
Project Member
Sun 23 Feb 2014 09:40:54 PM UTC, comment #4:

Hello,

Ben, you are right the problem is in the order the properties are set.
The simplest way I found to solve this issue is to set the whole list of defaults (not that much) twice. It seems a bit hacky but I think it's robust.

Can someone try the attached patch?

Pantxo

(file #30681)

Pantxo Diribarne <pantxo>
Project Member
Mon 04 Mar 2013 01:55:33 AM UTC, comment #3:

Equivalent problem for axes objects.

Ben Abbott <bpabbott>
Project Member
Mon 04 Mar 2013 12:15:59 AM UTC, comment #2:

A second test that seems to confirm the "position" is set before the "units", and the changing the "units" triggers the updater.

I'm modifying the summary to to better indicate the problem.

Ben Abbott <bpabbott>
Project Member
Mon 04 Mar 2013 12:09:52 AM UTC, comment #1:

To help isolate the problem, I tried converting the figure's units to the coded default value of "pixels".

Without looking at the code, I guess that the the updaters for the figure's properties are active during the initialization process. I had thought the updaters were off (or should be) during the initialization process.

Ben Abbott <bpabbott>
Project Member
Fri 01 Mar 2013 12:26:40 PM UTC, original submission:

This code

shows that setting 'defaultfigureposition' has no effect. What I get is

ans =

-1.7857e-04 -9.5238e-04 1.7857e-04 2.8571e-04

(along with a tiny figure at the lower left corner).

I am using the dev tip f837bdd535f7 of Feb 14.

Muhali <muhali>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

Attached Files
file #30681:  defaults_bug38449.patch added by pantxo (2kB - text/x-patch)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by pantxo (Updated the item)
  • -unavailable- added by huntj
  • -unavailable- added by bpabbott (Posted a comment)
  • -unavailable- added by muhali (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only project members can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 11 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Sat 13 Sep 2014 09:26:14 AM UTCpantxoStatusPatch Submitted=>Fixed
      Open/ClosedOpen=>Closed
    Sun 07 Sep 2014 10:37:16 AM UTCpantxoAttached File-=>Added implement_pval_vector.patch, #32040
      StatusConfirmed=>Patch Submitted
    Sun 23 Feb 2014 09:40:54 PM UTCpantxoAttached File-=>Added defaults_bug38449.patch, #30681
    Mon 04 Mar 2013 09:20:02 PM UTChuntjCarbon-Copy-=>Added huntj
    Mon 04 Mar 2013 01:55:33 AM UTCbpabbottSummaryChanging defaultfigureunits triggers a position update=>Changing default*units triggers a position update
    Mon 04 Mar 2013 12:20:09 AM UTCbpabbottSummaryChanging defaultfigureunits triggers a position/outerposition update=>Changing defaultfigureunits triggers a position update
    Mon 04 Mar 2013 12:15:59 AM UTCbpabbottSummarydefaultfigureposition has no effect=>Changing defaultfigureunits triggers a position/outerposition update
    Mon 04 Mar 2013 12:09:52 AM UTCbpabbottItem GroupNone=>Incorrect Result
      StatusNone=>Confirmed

    Back to the top


    Powered by Savane 3.1-cleanup