emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r106297: Modify w32fns.c similarly to


From: Eli Zaretskii
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r106297: Modify w32fns.c similarly to revision 106293.
Date: Sat, 05 Nov 2011 18:25:16 +0200
User-agent: Bazaar (2.3.1)

------------------------------------------------------------
revno: 106297
fixes bug(s): http://debbugs.gnu.org/9943
committer: Eli Zaretskii <address@hidden>
branch nick: trunk
timestamp: Sat 2011-11-05 18:25:16 +0200
message:
  Modify w32fns.c similarly to revision 106293.
  
   src/w32fns.c (x_create_tip_frame, Fx_create_frame): Rearrange
   initialization code to keep similarity to xfns.c after changes
   from 2011-11-05.
modified:
  src/ChangeLog
  src/w32fns.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2011-11-05 12:25:01 +0000
+++ b/src/ChangeLog     2011-11-05 16:25:16 +0000
@@ -1,3 +1,9 @@
+2011-11-05  Eli Zaretskii  <address@hidden>
+
+       * w32fns.c (x_create_tip_frame, Fx_create_frame): Rearrange
+       initialization code to keep similarity to xfns.c after changes
+       from 2011-11-05.
+
 2011-11-05  Jan Djärv  <address@hidden>
 
        * nsfns.m: Declare image_cache_refcount if GLYPH_DEBUG.

=== modified file 'src/w32fns.c'
--- a/src/w32fns.c      2011-11-05 11:34:56 +0000
+++ b/src/w32fns.c      2011-11-05 16:25:16 +0000
@@ -3977,7 +3977,7 @@
 
 
 /* Handler for signals raised during x_create_frame and
-   x_create_top_frame.  FRAME is the frame which is partially
+   x_create_tip_frame.  FRAME is the frame which is partially
    constructed.  */
 
 static Lisp_Object
@@ -4135,7 +4135,6 @@
   FRAME_CONFIG_SCROLL_BAR_WIDTH (f) = GetSystemMetrics (SM_CXVSCROLL);
 
   f->terminal = dpyinfo->terminal;
-  f->terminal->reference_count++;
 
   f->output_method = output_w32;
   f->output_data.w32 =
@@ -4154,7 +4153,8 @@
   /* With FRAME_X_DISPLAY_INFO set up, this unwind-protect is safe.  */
   record_unwind_protect (unwind_create_frame, frame);
 #if GLYPH_DEBUG
-  image_cache_refcount = FRAME_IMAGE_CACHE (f)->refcount;
+  image_cache_refcount =
+    FRAME_IMAGE_CACHE (f) ? FRAME_IMAGE_CACHE (f)->refcount : 0;
   dpyinfo_refcount = dpyinfo->reference_count;
 #endif /* GLYPH_DEBUG */
 
@@ -4287,6 +4287,7 @@
   x_make_gc (f);
 
   /* Now consider the frame official.  */
+  f->terminal->reference_count++;
   FRAME_W32_DISPLAY_INFO (f)->reference_count++;
   Vframe_list = Fcons (frame, Vframe_list);
 
@@ -5229,7 +5230,6 @@
      from this point on, x_destroy_window might screw up reference
      counts etc.  */
   f->terminal = dpyinfo->terminal;
-  f->terminal->reference_count++;
   f->output_method = output_w32;
   f->output_data.w32 =
     (struct w32_output *) xmalloc (sizeof (struct w32_output));
@@ -5239,7 +5239,8 @@
   f->icon_name = Qnil;
 
 #if GLYPH_DEBUG
-  image_cache_refcount = FRAME_IMAGE_CACHE (f)->refcount;
+  image_cache_refcount =
+    FRAME_IMAGE_CACHE ? FRAME_IMAGE_CACHE (f)->refcount : 0;
   dpyinfo_refcount = dpyinfo->reference_count;
 #endif /* GLYPH_DEBUG */
   FRAME_KBOARD (f) = kb;
@@ -5380,15 +5381,16 @@
 
   UNGCPRO;
 
+  /* Now that the frame is official, it counts as a reference to
+     its display.  */
+  FRAME_W32_DISPLAY_INFO (f)->reference_count++;
+  f->terminal->reference_count++;
+
   /* It is now ok to make the frame official even if we get an error
      below.  And the frame needs to be on Vframe_list or making it
      visible won't work.  */
   Vframe_list = Fcons (frame, Vframe_list);
 
-  /* Now that the frame is official, it counts as a reference to
-     its display.  */
-  FRAME_W32_DISPLAY_INFO (f)->reference_count++;
-
   /* Setting attributes of faces of the tooltip frame from resources
      and similar will increment face_change_count, which leads to the
      clearing of all current matrices.  Since this isn't necessary


reply via email to

[Prev in Thread] Current Thread [Next in Thread]