This is an automated email from the git hooks/post-receive script.

git pushed a commit to branch master
in repository enlightenment.

View the commit online.

commit 4c6dd08e251fed8acd423cd7c077efd22a398821
Author: Carsten Haitzler <[email protected]>
AuthorDate: Thu May 19 18:08:51 2022 +0100

    gtk frame porp change - if deleted for an existing csd app then adjust
    
    assume it went to 0 size if removed and already a csd frame window
    which is what chomium does going fullscreen - i didnt see this as i
    used chromium with system titlebars not its own.
    
    @fix
---
 src/bin/e_comp_x.c | 59 +++++++++++++++++++++++++++++++-----------------------
 1 file changed, 34 insertions(+), 25 deletions(-)

diff --git a/src/bin/e_comp_x.c b/src/bin/e_comp_x.c
index 5139bc5ad..4db6bcc8d 100644
--- a/src/bin/e_comp_x.c
+++ b/src/bin/e_comp_x.c
@@ -3438,6 +3438,31 @@ _e_comp_x_hook_client_post_new_client(void *d EINA_UNUSED, E_Client *ec)
      }
 }
 
+static void
+_e_comp_x_frame_extents_adjust(E_Client *ec, int exl, int exr, int ext, int exb)
+{
+   unsigned int extentscurrent;
+   unsigned int extentsall = exl | exr | ext | exb;
+   int insl = 0, insr = 0, inst = 0, insb = 0;
+
+   e_comp_object_frame_geometry_get(ec->frame, &insl, &insr, &inst, &insb);
+   extentscurrent = insl | insr | inst | insb;
+
+   extentsall = !!extentsall;
+   extentscurrent = !!extentscurrent;
+   if ((!e_comp_object_frame_exists(ec->frame)) &&
+       (( extentsall &&  extentscurrent) ||
+        (!extentsall &&  extentscurrent) ||
+        ( extentsall && !extentscurrent)))
+     {
+        e_comp_object_frame_geometry_set(ec->frame, -exl, -exr, -ext, -exb);
+        if (ec->override &&
+            (ec->x == ec->comp_data->initial_attributes.x) &&
+            (ec->y == ec->comp_data->initial_attributes.y))
+          e_comp_object_frame_xy_adjust(ec->frame, ec->x, ec->y, &ec->x, &ec->y);
+     }
+}
+
 static void
 _e_comp_x_hook_client_pre_frame_assign(void *d EINA_UNUSED, E_Client *ec)
 {
@@ -4816,34 +4841,18 @@ _e_comp_x_hook_client_fetch(void *d EINA_UNUSED, E_Client *ec)
               */
              if (count >= 4)
                {
-                  unsigned int extentscurrent;
-                  unsigned int extentsall =
-                    extents[0] | extents[1] | extents[2] | extents[3];
-                  int insl = 0, insr = 0, inst = 0, insb = 0;
-                  e_comp_object_frame_geometry_get(ec->frame, &insl, &insr,
-                                                   &inst, &insb);
-                  extentscurrent = insl | insr | inst | insb;
-
-                  extentsall = !!extentsall;
-                  extentscurrent = !!extentscurrent;
-                  if ((!e_comp_object_frame_exists(ec->frame)) &&
-                      (( extentsall &&  extentscurrent) ||
-                       (!extentsall &&  extentscurrent) ||
-                       ( extentsall && !extentscurrent)))
-                    {
-                       e_comp_object_frame_geometry_set(ec->frame,
-                                                        -extents[0],
-                                                        -extents[1],
-                                                        -extents[2],
-                                                        -extents[3]);
-                       if (ec->override &&
-                           (ec->x == ec->comp_data->initial_attributes.x) &&
-                           (ec->y == ec->comp_data->initial_attributes.y))
-                         e_comp_object_frame_xy_adjust(ec->frame, ec->x, ec->y, &ec->x, &ec->y);
-                    }
+                  printf("GTK-FRM: get %i %i %i %i\n",
+                         extents[0], extents[1], extents[2], extents[3]);
+                  _e_comp_x_frame_extents_adjust
+                    (ec, extents[0], extents[1], extents[2], extents[3]);
                }
              free(extents);
           }
+        else
+          {
+             printf("GTK-FRM: get fail\n");
+             _e_comp_x_frame_extents_adjust(ec, 0, 0, 0, 0);
+          }
         cd->fetch_gtk_frame_extents = 0;
      }
    ec->changes.prop = 0;

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.

Reply via email to