prepare 3.0.4-rc2
2 files changed, 29 insertions(+), 30 deletions(-)

M configure.ac
M src/styleengine.cc
M configure.ac +1 -1
@@ 1,6 1,6 @@ 
 dnl Process this file with aclocal, autoconf and automake.
 
-AC_INIT([dillo], [3.0.4-rc1])
+AC_INIT([dillo], [3.0.4-rc2])
 
 dnl Detect the canonical target build environment
 AC_CANONICAL_TARGET

          
M src/styleengine.cc +28 -29
@@ 361,6 361,7 @@ void StyleEngine::apply (int i, StyleAtt
    Font *parentFont = stack->get (i - 1).style->font;
    char *c, *fontName;
    int lineHeight;
+   DilloUrl *imgUrl = NULL;
 
    /* Determine font first so it can be used to resolve relative lengths. */
    for (int i = 0; i < props->size (); i++) {

          
@@ 528,35 529,8 @@ void StyleEngine::apply (int i, StyleAtt
                   Color::create(layout, prefs.white_bg_replacement);
             break;
          case CSS_PROPERTY_BACKGROUND_IMAGE:
-            if (prefs.load_background_images)
-            {
-               // p->value.strVal should be absolute, so baseUrl is not needed
-               DilloUrl *imgUrl = a_Url_new (p->value.strVal, NULL);
-
-               attrs->backgroundImage = StyleImage::create();
-               DilloImage *image =
-                  a_Image_new(layout,
-                              (void*)attrs->backgroundImage
-                                        ->getMainImgRenderer(),
-                              0xffffff);
-
-               // we use the pageUrl as requester to prevent cross
-               // domain requests as specified in domainrc
-               DilloWeb *web = a_Web_new(bw, imgUrl, pageUrl);
-               web->Image = image;
-               a_Image_ref(image);
-               web->flags |= WEB_Image;
-
-               int clientKey;
-               if ((clientKey = a_Capi_open_url(web, NULL, NULL)) != 0) {
-                  a_Bw_add_client(bw, clientKey, 0);
-                  a_Bw_add_url(bw, imgUrl);
-                  attrs->backgroundImage->connectDeletion
-                     (new StyleImageDeletionReceiver (clientKey));
-               }
-
-               a_Url_free (imgUrl);
-            }
+            // p->value.strVal should be absolute, so baseUrl is not needed
+            imgUrl = a_Url_new (p->value.strVal, NULL);
             break;
          case CSS_PROPERTY_BACKGROUND_POSITION:
             computeLength (&attrs->backgroundPositionX, p->value.posVal->posX,

          
@@ 734,6 708,31 @@ void StyleEngine::apply (int i, StyleAtt
       }
    }
 
+   if (imgUrl && prefs.load_background_images && attrs->display != DISPLAY_NONE)
+   {
+      attrs->backgroundImage = StyleImage::create();
+      DilloImage *image =
+         a_Image_new(layout,
+            (void*)attrs->backgroundImage
+            ->getMainImgRenderer(),
+            0xffffff);
+
+      // we use the pageUrl as requester to prevent cross
+      // domain requests as specified in domainrc
+      DilloWeb *web = a_Web_new(bw, imgUrl, pageUrl);
+      web->Image = image;
+      a_Image_ref(image);
+      web->flags |= WEB_Image;
+
+      int clientKey;
+      if ((clientKey = a_Capi_open_url(web, NULL, NULL)) != 0) {
+                  a_Bw_add_client(bw, clientKey, 0);
+                  a_Bw_add_url(bw, imgUrl);
+                  attrs->backgroundImage->connectDeletion
+                     (new StyleImageDeletionReceiver (clientKey));
+      }
+   }
+   a_Url_free (imgUrl);
 }
 
 /**