summaryrefslogtreecommitdiff
path: root/src/dispextern.h
diff options
context:
space:
mode:
authorJim Blandy <jimb@redhat.com>1993-05-25 14:01:54 +0000
committerJim Blandy <jimb@redhat.com>1993-05-25 14:01:54 +0000
commit8956811eb857635ddf40daffae1d613b5ff18bee (patch)
tree1b0e847b5b6570cc27d5d32a2895bc9aa1df2079 /src/dispextern.h
parentbf3adfe967d994ac2e47ffb49d867628c7ccc8dc (diff)
downloademacs-8956811eb857635ddf40daffae1d613b5ff18bee.tar.gz
* dispextern.h (struct face): New field - `copy', to help us with
resource allocation. * xfaces.c (free_frame_faces): Do free the first two faces; don't free anything from a face that's a copy. (intern_frame_face): Mark every face we intern as a copy; its resources are actually a combination of the real faces. (Fset_face_attribute_internal): No need to check if we're trying to free one of the frame's GC's; they never enter into the picture.
Diffstat (limited to 'src/dispextern.h')
-rw-r--r--src/dispextern.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/dispextern.h b/src/dispextern.h
index d793abe9cd4..dfdae70b3d0 100644
--- a/src/dispextern.h
+++ b/src/dispextern.h
@@ -54,6 +54,15 @@ struct face
/* Whether or not to underline text in this face. */
char underline;
+
+ /* Does this face own its resources? (color, font, etcetera)
+ If this is a face which we computed by combining other faces,
+ then this is true, and we shouldn't free any of the resources
+ it refers to; the faces from which it was constructed own it.
+ On the other hand, if this is a face the user created and
+ filled in directly, then this is false, and we should free the
+ resources when we free it. */
+ char copy;
};
/* Let's stop using this and get rid of it. */