Retain the originial e.Src by copying fields

Previously, if this function was needed, the original e.Src would be
overwritten to a new e.Src. Thus, the original pointer to e.Src would
remain empty. This diff will instead fill the originial e.Src.