Ewan McGregor is not at the Shanghai Film Festival
The original caption attached to this photo says that Ewan McGregor is "attending the closing ceremony of the 12th Shanghai International Film Festival." Surely, given the image, that can't be correct.
It seems much more likely that Ewan McGregor is wearing a UNICEF sweatshirt at some kind of UNICEF event. The actor has been involved with UNICEF since 2004, according to the organization's website. That year, he visited UNICEF programs in Ukraine, Kazakhtan and Mongolia while filming The Long Way Round. Good for him!
It's always possible, of course, that the caption is correct and that Shanghai and its film buffs look much different than many of us might anticipate.