]> git.ipfire.org Git - thirdparty/plymouth.git/commitdiff
drm: Remove unnecessary next_node helper variable
authorHans de Goede <hdegoede@redhat.com>
Mon, 21 Oct 2019 14:22:58 +0000 (16:22 +0200)
committerHans de Goede <hdegoede@redhat.com>
Fri, 1 Nov 2019 12:36:42 +0000 (13:36 +0100)
When walking a list, we only need to store the next_node before doing
operations on the current node, if the operation modifies the list,
which is only the case in free_heads() in all other cases we can remove
the unnecessary next_node helper variable.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
src/plugins/renderers/drm/plugin.c

index fea26eb196c2ece7fcecb7fca4c6b3342f57ecff..d474d980cf44b1e38e10157abafdb45df24c2c19 100644 (file)
@@ -933,6 +933,7 @@ destroy_backend (ply_renderer_backend_t *backend)
 static void
 activate (ply_renderer_backend_t *backend)
 {
+        ply_renderer_head_t *head;
         ply_list_node_t *node;
 
         ply_trace ("taking master and scanning out");
@@ -941,16 +942,10 @@ activate (ply_renderer_backend_t *backend)
         drmSetMaster (backend->device_fd);
         node = ply_list_get_first_node (backend->heads);
         while (node != NULL) {
-                ply_list_node_t *next_node;
-                ply_renderer_head_t *head;
-
                 head = (ply_renderer_head_t *) ply_list_node_get_data (node);
-                next_node = ply_list_get_next_node (backend->heads, node);
-
                 /* Flush out any pending drawing to the buffer */
                 flush_head (backend, head);
-
-                node = next_node;
+                node = ply_list_get_next_node (backend->heads, node);
         }
 }
 
@@ -1568,22 +1563,19 @@ handle_change_event (ply_renderer_backend_t *backend)
 static bool
 map_to_device (ply_renderer_backend_t *backend)
 {
+        ply_renderer_head_t *head;
         ply_list_node_t *node;
         bool head_mapped;
 
         head_mapped = false;
         node = ply_list_get_first_node (backend->heads);
         while (node != NULL) {
-                ply_list_node_t *next_node;
-                ply_renderer_head_t *head;
-
                 head = (ply_renderer_head_t *) ply_list_node_get_data (node);
-                next_node = ply_list_get_next_node (backend->heads, node);
 
                 if (ply_renderer_head_map (backend, head))
                         head_mapped = true;
 
-                node = next_node;
+                node = ply_list_get_next_node (backend->heads, node);
         }
 
         if (backend->terminal != NULL) {
@@ -1601,19 +1593,14 @@ map_to_device (ply_renderer_backend_t *backend)
 static void
 unmap_from_device (ply_renderer_backend_t *backend)
 {
+        ply_renderer_head_t *head;
         ply_list_node_t *node;
 
         node = ply_list_get_first_node (backend->heads);
         while (node != NULL) {
-                ply_list_node_t *next_node;
-                ply_renderer_head_t *head;
-
                 head = (ply_renderer_head_t *) ply_list_node_get_data (node);
-                next_node = ply_list_get_next_node (backend->heads, node);
-
                 ply_renderer_head_unmap (backend, head);
-
-                node = next_node;
+                node = ply_list_get_next_node (backend->heads, node);
         }
 }
 
@@ -1655,6 +1642,7 @@ static void
 flush_head (ply_renderer_backend_t *backend,
             ply_renderer_head_t    *head)
 {
+        ply_rectangle_t *area_to_flush;
         ply_region_t *updated_region;
         ply_list_t *areas_to_flush;
         ply_list_node_t *node;
@@ -1685,17 +1673,12 @@ flush_head (ply_renderer_backend_t *backend,
 
         node = ply_list_get_first_node (areas_to_flush);
         while (node != NULL) {
-                ply_list_node_t *next_node;
-                ply_rectangle_t *area_to_flush;
-
                 area_to_flush = (ply_rectangle_t *) ply_list_node_get_data (node);
 
-                next_node = ply_list_get_next_node (areas_to_flush, node);
-
                 ply_renderer_head_flush_area (head, area_to_flush, map_address);
                 dirty = true;
 
-                node = next_node;
+                node = ply_list_get_next_node (areas_to_flush, node);
         }
 
         if (dirty) {