maybe fix some bugs in surfaceflinger