From 74d3204304e3344629f31fa9beebd44113c032a4 Mon Sep 17 00:00:00 2001 From: Michael R Sweet Date: Fri, 20 May 2005 02:05:38 +0000 Subject: Fl_Preferences::getUserdataPath() didn't work for sub-groups (STR #872) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4361 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- CHANGES | 2 ++ FL/Fl_Preferences.H | 1 + src/Fl_Preferences.cxx | 6 +++--- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/CHANGES b/CHANGES index 465f2d1bf..f9c124c55 100644 --- a/CHANGES +++ b/CHANGES @@ -2,6 +2,8 @@ CHANGES IN FLTK 1.1.7 - Documentation fixes (STR #648, STR #692, STR #730, STR #744, STR #745) + - Fl_Preferences::getUserdataPath() didn't work for + sub-groups (STR #872) - Fixed some redraw issues on Windows XP. - FLUID didn't set the initial size of widgets properly (STR #850) diff --git a/FL/Fl_Preferences.H b/FL/Fl_Preferences.H index 7bf53e110..20eb88c6b 100644 --- a/FL/Fl_Preferences.H +++ b/FL/Fl_Preferences.H @@ -117,6 +117,7 @@ private: Node *search( const char *path, int offset=0 ); Node *addChild( const char *path ); void setParent( Node *parent ); + Node *parent() { return parent_; } char remove(); char dirty(); // entry methods diff --git a/src/Fl_Preferences.cxx b/src/Fl_Preferences.cxx index 18a66bfee..dabaa09c0 100644 --- a/src/Fl_Preferences.cxx +++ b/src/Fl_Preferences.cxx @@ -87,7 +87,7 @@ Fl_Preferences::Fl_Preferences( const char *path, const char *vendor, const char */ Fl_Preferences::Fl_Preferences( Fl_Preferences &parent, const char *key ) { - rootNode = 0; + rootNode = parent.rootNode; node = parent.node->addChild( key ); } @@ -100,7 +100,7 @@ Fl_Preferences::Fl_Preferences( Fl_Preferences &parent, const char *key ) */ Fl_Preferences::Fl_Preferences( Fl_Preferences *parent, const char *key ) { - rootNode = 0; + rootNode = parent->rootNode; node = parent->node->addChild( key ); } @@ -112,7 +112,7 @@ Fl_Preferences::Fl_Preferences( Fl_Preferences *parent, const char *key ) */ Fl_Preferences::~Fl_Preferences() { - delete rootNode; + if (!node->parent()) delete rootNode; // DO NOT delete nodes! The root node will do that after writing the preferences } -- cgit v1.2.3