rendernodeparser: Emit error when failing to resolve URL
authorBenjamin Otte <otte@redhat.com>
Wed, 29 Mar 2023 00:28:01 +0000 (02:28 +0200)
committerMatthias Clasen <mclasen@redhat.com>
Sat, 1 Apr 2023 00:26:19 +0000 (20:26 -0400)
gsk/gskrendernodeparser.c

index e377e82d8beffea4c9b59fdd59067bede1cad51d..ea2dca1e5bafccb58f0e364e45ed78e23b62abd1 100644 (file)
@@ -128,6 +128,10 @@ parse_texture (GtkCssParser *parser,
         }
       else
         {
+          g_set_error (&error,
+                       GTK_CSS_PARSER_ERROR,
+                       GTK_CSS_PARSER_ERROR_UNKNOWN_VALUE,
+                       "Failed to resolve URL");
           texture = NULL;
         }
     }
@@ -229,8 +233,19 @@ parse_script (GtkCssParser *parser,
       GFile *file;
 
       file = gtk_css_parser_resolve_url (parser, url);
-      bytes = g_file_load_bytes (file, NULL, NULL, &error);
-      g_object_unref (file);
+      if (file)
+        {
+          bytes = g_file_load_bytes (file, NULL, NULL, &error);
+          g_object_unref (file);
+        }
+      else
+        {
+          g_set_error (&error,
+                       GTK_CSS_PARSER_ERROR,
+                       GTK_CSS_PARSER_ERROR_UNKNOWN_VALUE,
+                       "Failed to resolve URL");
+          bytes = NULL;
+        }
     }
 
   g_free (scheme);