If GDM is sourcing the user's setup files using any shell other than the user's defined shell (from getpwent() or whatever) then that's a bug in GDM.
If GDM is sourcing the user's setup files using any shell other than the user's defined shell (from getpwent() or whatever) then that's a bug in GDM.