La barra de herramientas setNavigationOnClickListener rompe la función ActionbarDrawerToggle

Estoy cambiando la barra de acción por la barra de herramientas, y casi tengo todas las piezas del rompecabezas en su lugar. Mi problema es específicamente si navego 'arriba' y restauro el cajón de navegación, el botón de alternancia del cajón ya no funciona. Descubrí que si configuro el modo del cajón en desbloqueado, tengo la capacidad de deslizar para abrir el cajón, pero no puedo hacer clic para abrir el cajón.

Así que cargo el fragmento A, el comportamiento del cajón está bien, bajo al fragmento B y aplico el ícono hacia arriba, golpeo para volver a A, y el cajón ya no se abrirá con un clic.

Fragmento de entrada B:

Toolbar t = mHostingActivity.getToolbar();
        mHostingActivity.getDrawerToggle().setDrawerIndicatorEnabled(false);
        mHostingActivity.getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        t.setNavigationIcon(mHostingActivity.getV7DrawerToggleDelegate().getThemeUpIndicator());
        t.setNavigationOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v,) {
                popBackStackToTop(mHostingActivity);
            }
        });

/**
 * Pop the back stack and hide the Up caret all the way to the top level of the {@link com.loylap.activities.MainActivity}
 *
 * @param activity our hosting activity
 */
public static void popBackStackToTop(MainActivity activity) {
    if (activity != null) {
        FragmentManager fm = activity.getSupportFragmentManager();
        fm.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
        activity.getDrawerLayout().setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED);
        activity.getDrawerToggle().setDrawerIndicatorEnabled(true);
    }
}

El cajón de navegación está configurado al igual que la muestra, ¿tal vez la vieja forma de configurar las opciones es el problema? Por ejemplo, todavía tengo esto en mi actividad:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    if (mDrawerToggle.onOptionsItemSelected(item)) {
        return true;
    }

    return super.onOptionsItemSelected(item);
}

EDITAR:

Bien, he reducido el problema a setNavigationOnClickListener (). Si no configuro esto (y subo mediante el botón Atrás), el cajón se comporta correctamente. Entonces, la pregunta es ¿cómo permito correctamente que el usuario suba, y restaure el escucha de clics después de que subamos?

Respuestas a la pregunta(5)

Su respuesta a la pregunta