The GPL version 3 includes a similar clause. You don't have to give up your patents. You just have to license them to anyone who has rights to use the code from a copyright perspective. If I understand it correctly, this gives the GPL sharper teeth, since someone who violates the GPL not only loses the distribution/derivative rights from the copyright license, but also the patent license.
Hmm... so you could use patents as a club to enforce dual licensing with GPLv3 then. Violate the GPL and you lose your patent license, so now you're a patent infringer too. At the same time, you're FOSS-friendly since your patents are meaningless to FOSS projects.
The only way to fully comply with GPLv2 - giving the right to redistribute to your downstream users - is to refrain to use patents to curb the right of your downstream users.
If Google makes a GPLv2-derived product P of a GPLv2-licensed thing T, the owner of the T cannot enforce patent rights on P because the license states they gave Google the right to redistribute T-derived stuff under the same conditions.