* #36914: fix backstack issues, change selector of app sections
diff --git a/src/org/sflphone/client/HomeActivity.java b/src/org/sflphone/client/HomeActivity.java
index f479a61..70f18a4 100644
--- a/src/org/sflphone/client/HomeActivity.java
+++ b/src/org/sflphone/client/HomeActivity.java
@@ -333,7 +333,7 @@
             fContent = getSupportFragmentManager().findFragmentByTag(entry.getName());
             if(fContent == null)
                 Log.i(TAG, "Null frag");
-            getSupportFragmentManager().popBackStack();
+            getSupportFragmentManager().popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
             return;
         }
 
@@ -685,7 +685,10 @@
 
             if (fContent instanceof HomeFragment)
                 break;
-
+            
+            if(getSupportFragmentManager().getBackStackEntryCount() == 0)
+                break;
+            
             BackStackEntry entry = getSupportFragmentManager().getBackStackEntryAt(0);
             fContent = getSupportFragmentManager().findFragmentByTag(entry.getName());
             getSupportFragmentManager().popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
@@ -694,15 +697,15 @@
         case 1:
             if (fContent instanceof AccountsManagementFragment)
                 break;
-            Log.i(TAG, "BackStackEntries: " + getSupportFragmentManager().getBackStackEntryCount());
+            
             fContent = new AccountsManagementFragment();
-            getSupportFragmentManager().beginTransaction().replace(R.id.main_frame, fContent, "Home").addToBackStack("Home").commit();
+            getSupportFragmentManager().beginTransaction().replace(R.id.main_frame, fContent, "Accounts").addToBackStack("Accounts").commit();
             break;
         case 2:
             if (fContent instanceof AboutFragment)
                 break;
             fContent = new AboutFragment();
-            getSupportFragmentManager().beginTransaction().replace(R.id.main_frame, fContent, "Home").addToBackStack("Home").commit();
+            getSupportFragmentManager().beginTransaction().replace(R.id.main_frame, fContent, "About").addToBackStack("About").commit();
             break;
         }
 
diff --git a/src/org/sflphone/fragments/AboutFragment.java b/src/org/sflphone/fragments/AboutFragment.java
index 97692ea..d2d3865 100644
--- a/src/org/sflphone/fragments/AboutFragment.java
+++ b/src/org/sflphone/fragments/AboutFragment.java
@@ -14,6 +14,12 @@
 public class AboutFragment extends Fragment {
 
     @Override
+    public void onResume() {
+        super.onResume();
+        getActivity().getActionBar().setTitle(R.string.menu_item_about);
+    }
+
+    @Override
     public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle savedInstanceState) {
         View inflatedView = inflater.inflate(R.layout.frag_about, parent, false);
 
@@ -21,7 +27,7 @@
         String linkText = "<a href='http://sflphone.org/'>" + getResources().getString(R.string.web_site) + "</a>";
         link.setText(Html.fromHtml(linkText));
         link.setMovementMethod(LinkMovementMethod.getInstance());
-        getActivity().getActionBar().setTitle(R.string.menu_item_about);
+
         return inflatedView;
     }
 
diff --git a/src/org/sflphone/fragments/AccountsManagementFragment.java b/src/org/sflphone/fragments/AccountsManagementFragment.java
index 379f711..be69b00 100644
--- a/src/org/sflphone/fragments/AccountsManagementFragment.java
+++ b/src/org/sflphone/fragments/AccountsManagementFragment.java
@@ -146,7 +146,6 @@
 
         mShortAnimationDuration = getResources().getInteger(android.R.integer.config_shortAnimTime);
         Log.i(TAG, "anim time: " + mShortAnimationDuration);
-        getActivity().getActionBar().setTitle(R.string.menu_item_accounts);
 
     }
 
@@ -204,11 +203,9 @@
         intentFilter2.addAction(ConfigurationManagerCallback.ACCOUNTS_CHANGED);
         getActivity().registerReceiver(accountReceiver, intentFilter2);
         getActivity().getSupportLoaderManager().restartLoader(LoaderConstants.ACCOUNTS_LOADER, null, this);
-
+        getActivity().getActionBar().setTitle(R.string.menu_item_accounts);
     }
 
-
-
     @Override
     public void onCreateOptionsMenu(Menu m, MenuInflater inf) {
         super.onCreateOptionsMenu(m, inf);
@@ -433,16 +430,13 @@
 
     @Override
     public void onLoaderReset(android.support.v4.content.Loader<Bundle> arg0) {
-        // TODO Stub de la méthode généré automatiquement
-        
+
     }
 
     @Override
     public android.support.v4.content.Loader<Bundle> onCreateLoader(int arg0, Bundle arg1) {
         AccountsLoader l = new AccountsLoader(getActivity(), mCallbacks.getService());
-
         l.forceLoad();
-
         return l;
     }
 }
diff --git a/src/org/sflphone/fragments/HomeFragment.java b/src/org/sflphone/fragments/HomeFragment.java
index 4973792..51524eb 100644
--- a/src/org/sflphone/fragments/HomeFragment.java
+++ b/src/org/sflphone/fragments/HomeFragment.java
@@ -45,7 +45,7 @@
 
 public class HomeFragment extends Fragment {
     static final String TAG = HomeFragment.class.getSimpleName();
-    
+
     /**
      * The {@link ViewPager} that will host the section contents.
      */
@@ -53,6 +53,12 @@
     SectionsPagerAdapter mSectionsPagerAdapter = null;
 
     @Override
+    public void onResume() {
+        super.onResume();
+        getActivity().getActionBar().setTitle(R.string.menu_item_home);
+    }
+
+    @Override
     public void onAttach(Activity activity) {
         super.onAttach(activity);
     }
@@ -61,26 +67,21 @@
     public void onDetach() {
         super.onDetach();
     }
-    
+
     @Override
-    public void onCreate(Bundle savedBundle){
+    public void onCreate(Bundle savedBundle) {
         super.onCreate(savedBundle);
-        
-        //FIXME : getFragmentManager does not handle nested fragments, pages are not saved!
-        
         mSectionsPagerAdapter = new SectionsPagerAdapter(getActivity(), getChildFragmentManager());
-        getActivity().getActionBar().setTitle(R.string.menu_item_home);
     }
 
     @Override
     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
         ViewGroup rootView = (ViewGroup) inflater.inflate(R.layout.frag_home, container, false);
-        
-        
+
         // Set up the ViewPager with the sections adapter.
         mViewPager = (ViewPager) rootView.findViewById(R.id.pager);
         mViewPager.setPageTransformer(true, new ZoomOutPageTransformer(0.7f));
-        
+
         mViewPager.setOffscreenPageLimit(2);
         mViewPager.setAdapter(mSectionsPagerAdapter);
         mViewPager.setCurrentItem(1);
@@ -96,7 +97,7 @@
     public void onActivityResult(int requestCode, int resultCode, Intent data) {
         super.onActivityResult(requestCode, resultCode, data);
     }
-    
+
     public class ZoomOutPageTransformer implements ViewPager.PageTransformer {
         private static final float MIN_ALPHA = .6f;
 
diff --git a/src/org/sflphone/fragments/MenuFragment.java b/src/org/sflphone/fragments/MenuFragment.java
index 3bc51e4..b0fa2e1 100644
--- a/src/org/sflphone/fragments/MenuFragment.java
+++ b/src/org/sflphone/fragments/MenuFragment.java
@@ -84,14 +84,14 @@
 
         @Override
         public void onSectionSelected(int pos) {
-            
+
         }
     };
 
     public interface Callbacks {
 
         public ISipService getService();
-        
+
         public void onSectionSelected(int pos);
 
     }
@@ -111,7 +111,6 @@
         } catch (Exception e1) {
 
         }
-        
 
     }
 
@@ -154,7 +153,7 @@
         ((ListView) inflatedView.findViewById(R.id.listView)).setOnItemClickListener(new OnItemClickListener() {
 
             @Override
-            public void onItemClick(AdapterView<?> arg0, View arg1, int pos, long arg3) {
+            public void onItemClick(AdapterView<?> arg0, View selected, int pos, long arg3) {
                 mCallbacks.onSectionSelected(pos);
             }
         });
@@ -192,24 +191,12 @@
     @Override
     public void onStart() {
         super.onStart();
-
     }
 
     public Account getSelectedAccount() {
         return mAccountAdapter.getSelectedAccount();
     }
 
-
-
-    /**
-     * Called by activity to pass a reference to sipservice to Fragment.
-     * 
-     * @param isip
-     */
-    public void onServiceSipBinded(ISipService isip) {
-
-    }
-
     public void updateAllAccounts() {
         if (getActivity() != null)
             getActivity().getSupportLoaderManager().restartLoader(LoaderConstants.ACCOUNTS_LOADER, null, this);
@@ -234,23 +221,23 @@
 
     @Override
     public android.support.v4.content.Loader<Bundle> onCreateLoader(int arg0, Bundle arg1) {
-      AccountsLoader l = new AccountsLoader(getActivity(), mCallbacks.getService());
-      l.forceLoad();
-      return l;
+        AccountsLoader l = new AccountsLoader(getActivity(), mCallbacks.getService());
+        l.forceLoad();
+        return l;
     }
 
     @Override
     public void onLoadFinished(android.support.v4.content.Loader<Bundle> arg0, Bundle bun) {
-      mAccountAdapter.removeAll();
-      ArrayList<Account> accounts = bun.getParcelableArrayList(AccountsLoader.ACCOUNTS);
-      mAccountAdapter.addAll(accounts);
-        
+        mAccountAdapter.removeAll();
+        ArrayList<Account> accounts = bun.getParcelableArrayList(AccountsLoader.ACCOUNTS);
+        mAccountAdapter.addAll(accounts);
+
     }
 
     @Override
     public void onLoaderReset(android.support.v4.content.Loader<Bundle> arg0) {
         // TODO Stub de la méthode généré automatiquement
-        
+
     }
 
 }