Boolean freezes for flat objects on same plane

If I have flat objects intersecting on the same plane (shown below) and try to use the Boolean modifier, Blender freezes.

But if I extrude both objects and do the same, it works perfectly as shown below (using Difference).

Is there a way to get it working with flat objects? Should I report it as a bug?

Boolean is for volume operation.

For intersecting planes like this, you should enable the “Edge Tools Tiny CAD VTX” in the File -> User Preferences -> Addons panel (in recent SVN of Blender it’s only available in “Testing” -> Mesh -> Edge Tools Tiny CAD VTX, not sure if it’s in Stable 2.62) then select 2 edges, press W then “Edges X Intersection” to create a vertice exactly where 2 egdes are intersecting.

This way with vertices exactly where needed, you’ll be able to rebuild the face how you need, like if it was a precision boolean.

Since I’m doing this for a script, I think I will work around by extruding downward, applying the boolean, then deleting the extruded faces (select everything facing up, invert selection, baleet).