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

Bug#613249: marked as done (desktop-base: plymouth theme spacefun with bad sprites positions in twin mode)



Your message dated Sun, 27 Feb 2011 20:03:53 +0000
with message-id <E1PtmqP-0005vL-Ev@franck.debian.org>
and subject line Bug#613249: fixed in desktop-base 6.0.5squeeze1
has caused the Debian Bug report #613249,
regarding desktop-base: plymouth theme spacefun with bad sprites positions in twin mode
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
613249: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=613249
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: desktop-base
Version: 6.0.5
Severity: minor
Tags: patch

The spacefun script for plymouth is missing the Window.GetX() and
Window.GetY() adjustements for each sprite.  If mutliple monitors are in
use, then all sprites are shifted left the value of Window.GetX() and
top the value of GetY().

Please find attached a patched version of the spacefun.script using the
Window.GetX() and Window.GetY() methods to center the output when
mutliptle monitors are in use.

The patch also disables the downscaling of the background image.  If
downscaling is allowed, then the bigger screen resolutions won't be
filled up completely.  All output on these resolutions will have a
black border.  If this behaviour is not accaptable then please remove
the following changes in the patch.

	--- desktop-base-6.0.5/plymouth/spacefun/spacefun.script	2010-12-12
23:32:05.000000000 +0100
	+++ desktop-base-6.0.5_twinmode/plymouth/spacefun/spacefun.script
2011-02-13 17:27:37.118332543 +0100
	@@ -34,13 +34,15 @@ if (screen_ratio > bg_image_ratio)
	     bg_scale_factor = Window.GetWidth() / bg_image.GetWidth();
	 else
	     bg_scale_factor = Window.GetHeight() / bg_image.GetHeight();
	+if (bg_scale_factor < 1)
	+    bg_scale_factor = 1;
	 scaled_bg_image = bg_image.Scale(bg_image.GetWidth() * bg_scale_factor,
	                                  bg_image.GetHeight() * bg_scale_factor);

A better fix would be to implement the function Window.GetMaxWidth() and
Window.GetMaxHeight() in plymouth and use these for scaling.



-- System Information:
Debian Release: 6.0
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: i386 (i686)

Kernel: Linux 2.6.32-5-686 (SMP w/1 CPU core)
Locale: LANG=de_DE.utf8, LC_CTYPE=de_DE.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages desktop-base depends on:
ii  librsvg2-common               2.26.3-1   SAX-based renderer library
for SVG

desktop-base recommends no packages.

Versions of packages desktop-base suggests:
ii  gnome                         1:2.30+7   The GNOME Desktop
Environment, wit

-- no debconf information

*** /home/adris/todo/desktop-base-6.0.5_twinmode.patch
diff -rupN desktop-base-6.0.5/plymouth/spacefun/spacefun.script
desktop-base-6.0.5_twinmode/plymouth/spacefun/spacefun.script
--- desktop-base-6.0.5/plymouth/spacefun/spacefun.script	2010-12-12
23:32:05.000000000 +0100
+++ desktop-base-6.0.5_twinmode/plymouth/spacefun/spacefun.script
2011-02-13 17:27:37.118332543 +0100
@@ -34,13 +34,15 @@ if (screen_ratio > bg_image_ratio)
     bg_scale_factor = Window.GetWidth() / bg_image.GetWidth();
 else
     bg_scale_factor = Window.GetHeight() / bg_image.GetHeight();
+if (bg_scale_factor < 1)
+    bg_scale_factor = 1;
 scaled_bg_image = bg_image.Scale(bg_image.GetWidth() * bg_scale_factor,
                                  bg_image.GetHeight() * bg_scale_factor);

 # Display background
 bg_sprite = Sprite(scaled_bg_image);
-bg_sprite.SetPosition(Window.GetWidth() / 2 -
scaled_bg_image.GetWidth() / 2,
-                      Window.GetHeight() / 2 -
scaled_bg_image.GetHeight() / 2,
+bg_sprite.SetPosition(Window.GetX() + Window.GetWidth() / 2 -
scaled_bg_image.GetWidth() / 2,
+                      Window.GetY() + Window.GetHeight() / 2 -
scaled_bg_image.GetHeight() / 2,
                       -10000);

 #------------------------------- Earth
---------------------------------------------
@@ -56,8 +58,8 @@ for (i = 0; i < 5; i++)
 earth_glow_index = 0;
 earth_sprite = Sprite(earth_images[earth_glow_index]);
 earth_to_edge = Math.Min(Window.GetWidth(), Window.GetHeight()) * 0.07;
-earth_x = earth_to_edge;
-earth_y = Window.GetHeight() - earth_to_edge - earth_images[0].GetHeight();
+earth_x = Window.GetX() + earth_to_edge;
+earth_y = Window.GetY() + Window.GetHeight() - earth_to_edge -
earth_images[0].GetHeight();
 earth_sprite.SetPosition(earth_x, earth_y, -10);

 #------------------------------- Planet
--------------------------------------------
@@ -69,8 +71,8 @@ planet_image = planet_image.Scale(planet
 planet_sprite = Sprite(planet_image);
 planet_to_edge_y = Window.GetHeight() * 0.14;
 planet_to_edge_x = Window.GetWidth() * 0.08;
-planet_x = Window.GetWidth() - planet_to_edge_x - planet_image.GetWidth();
-planet_y = planet_to_edge_y;
+planet_x = Window.GetX() + Window.GetWidth() - planet_to_edge_x -
planet_image.GetWidth();
+planet_y = Window.GetY() + planet_to_edge_y;
 planet_sprite.SetPosition(planet_x, planet_y, -10);

 #------------------------------- Logo
----------------------------------------------
@@ -81,8 +83,8 @@ logo_image = logo_image.Scale(logo_image
                               logo_image.GetHeight() * logo_scale_factor);
 logo_sprite = Sprite(logo_image);
 logo_to_edge = Window.GetHeight() * 0.1;
-logo_sprite.SetPosition(Window.GetWidth() - logo_to_edge -
logo_image.GetWidth(),
-                        Window.GetHeight() - logo_to_edge -
logo_image.GetHeight(),
+logo_sprite.SetPosition(Window.GetX() + Window.GetWidth() -
logo_to_edge - logo_image.GetWidth(),
+                        Window.GetY() + Window.GetHeight() -
logo_to_edge - logo_image.GetHeight(),
                         -10);

 #------------------------------- Swirl galaxies
------------------------------------
@@ -125,13 +127,13 @@ for (i = 0; i < 3; i++)
     swirl_image = swirl_image.Rotate(swirls[i].angle);
     swirl_sprites[i] = Sprite();
     if (swirls[i].x >= 0)
-      swirl_sprites[i].SetX(Window.GetWidth() * swirls[i].x);
+      swirl_sprites[i].SetX(Window.GetX() + Window.GetWidth() *
swirls[i].x);
     else
-      swirl_sprites[i].SetX(Window.GetWidth() * (1 + swirls[i].x) -
swirl_image.GetWidth());
+      swirl_sprites[i].SetX(Window.GetX() + Window.GetWidth() * (1 +
swirls[i].x) - swirl_image.GetWidth());
     if (swirls[i].y >= 0)
-      swirl_sprites[i].SetY(Window.GetHeight() * swirls[i].y);
+      swirl_sprites[i].SetY(Window.GetY() + Window.GetHeight() *
swirls[i].y);
     else
-      swirl_sprites[i].SetY(Window.GetHeight() * (1 + swirls[i].y) -
swirl_image.GetHeight());
+      swirl_sprites[i].SetY(Window.GetY() + Window.GetHeight() * (1 +
swirls[i].y) - swirl_image.GetHeight());
     swirl_sprites[i].SetImage(swirl_image);
   }

@@ -192,9 +194,9 @@ for (i = 0; i < NUM_STARS; i++)

     # Randomize position, we accept that stars may be half out of the
viewport
     # in each direction
-    star_x = Math.Random() * (Window.GetWidth() +
transformed_image.GetWidth())
+    star_x = Window.GetX() + Math.Random() * (Window.GetWidth() +
transformed_image.GetWidth())
              - transformed_image.GetWidth() / 2;
-    star_y = Math.Random() * (Window.GetHeight() +
transformed_image.GetHeight())
+    star_y = Window.GetY() + Math.Random() * (Window.GetHeight() +
transformed_image.GetHeight())
              - transformed_image.GetHeight() / 2;
     stars[i].SetPosition(star_x, star_y, -20); # Stars go behind other
elements.
   }
@@ -214,8 +216,8 @@ rocket_sprite = Sprite();

 # Rocket trajectory
 # Take a point somwhere in the middle to compute the parabola
-middle_x = Window.GetWidth() * 0.42;
-middle_y = Window.GetHeight() * 0.42;
+middle_x = Window.GetX() + Window.GetWidth() * 0.42;
+middle_y = Window.GetY() + Window.GetHeight() * 0.42;
 # Parabole coeffs so that y = a.x^2 + b.x + c for the earth, planet and
middle points
 # Use the earth and planet centers instead of top left corner
 earth_cx = earth_x + earth_images[0].GetWidth()/2;
@@ -314,8 +316,8 @@ fun dialog_setup()
     entry.image = Image("entry.png");

     box.sprite = Sprite(box.image);
-    box.x = Window.GetWidth()  / 2 - box.image.GetWidth ()/2;
-    box.y = Window.GetHeight() / 2 - box.image.GetHeight()/2;
+    box.x = Window.GetX() + Window.GetWidth()  / 2 - box.image.GetWidth
()/2;
+    box.y = Window.GetY() + Window.GetHeight() / 2 -
box.image.GetHeight()/2;
     box.z = 10000;
     box.sprite.SetPosition(box.x, box.y, box.z);

@@ -456,7 +458,7 @@ fun message_callback (text)
       }
     next_msg_image = Image.Text(text, 1, 1, 1, 1);
     msg_sprites[next_msg_idx] = Sprite();
-    msg_sprites[next_msg_idx].SetPosition(10, next_msg_y, 10000);
+    msg_sprites[next_msg_idx].SetPosition(Window.GetX() + 10,
Window.GetY() + next_msg_y, 10000);
     msg_sprites[next_msg_idx].SetImage(next_msg_image);

     next_msg_idx = (next_msg_idx + 1) % MAX_MSG_DISPLAYED;
diff -rupN desktop-base-6.0.5/plymouth/spacefun/spacefun.script desktop-base-6.0.5_twinmode/plymouth/spacefun/spacefun.script
--- desktop-base-6.0.5/plymouth/spacefun/spacefun.script	2010-12-12 23:32:05.000000000 +0100
+++ desktop-base-6.0.5_twinmode/plymouth/spacefun/spacefun.script	2011-02-13 17:27:37.118332543 +0100
@@ -34,13 +34,15 @@ if (screen_ratio > bg_image_ratio)
     bg_scale_factor = Window.GetWidth() / bg_image.GetWidth();
 else
     bg_scale_factor = Window.GetHeight() / bg_image.GetHeight();
+if (bg_scale_factor < 1)
+    bg_scale_factor = 1;
 scaled_bg_image = bg_image.Scale(bg_image.GetWidth() * bg_scale_factor,
                                  bg_image.GetHeight() * bg_scale_factor);
 
 # Display background
 bg_sprite = Sprite(scaled_bg_image);
-bg_sprite.SetPosition(Window.GetWidth() / 2 - scaled_bg_image.GetWidth() / 2,
-                      Window.GetHeight() / 2 - scaled_bg_image.GetHeight() / 2,
+bg_sprite.SetPosition(Window.GetX() + Window.GetWidth() / 2 - scaled_bg_image.GetWidth() / 2,
+                      Window.GetY() + Window.GetHeight() / 2 - scaled_bg_image.GetHeight() / 2,
                       -10000);
 
 #------------------------------- Earth ---------------------------------------------
@@ -56,8 +58,8 @@ for (i = 0; i < 5; i++)
 earth_glow_index = 0;
 earth_sprite = Sprite(earth_images[earth_glow_index]);
 earth_to_edge = Math.Min(Window.GetWidth(), Window.GetHeight()) * 0.07;
-earth_x = earth_to_edge;
-earth_y = Window.GetHeight() - earth_to_edge - earth_images[0].GetHeight();
+earth_x = Window.GetX() + earth_to_edge;
+earth_y = Window.GetY() + Window.GetHeight() - earth_to_edge - earth_images[0].GetHeight();
 earth_sprite.SetPosition(earth_x, earth_y, -10);
 
 #------------------------------- Planet --------------------------------------------
@@ -69,8 +71,8 @@ planet_image = planet_image.Scale(planet
 planet_sprite = Sprite(planet_image);
 planet_to_edge_y = Window.GetHeight() * 0.14;
 planet_to_edge_x = Window.GetWidth() * 0.08;
-planet_x = Window.GetWidth() - planet_to_edge_x - planet_image.GetWidth();
-planet_y = planet_to_edge_y;
+planet_x = Window.GetX() + Window.GetWidth() - planet_to_edge_x - planet_image.GetWidth();
+planet_y = Window.GetY() + planet_to_edge_y;
 planet_sprite.SetPosition(planet_x, planet_y, -10);
 
 #------------------------------- Logo ----------------------------------------------
@@ -81,8 +83,8 @@ logo_image = logo_image.Scale(logo_image
                               logo_image.GetHeight() * logo_scale_factor);
 logo_sprite = Sprite(logo_image);
 logo_to_edge = Window.GetHeight() * 0.1;
-logo_sprite.SetPosition(Window.GetWidth() - logo_to_edge - logo_image.GetWidth(),
-                        Window.GetHeight() - logo_to_edge - logo_image.GetHeight(),
+logo_sprite.SetPosition(Window.GetX() + Window.GetWidth() - logo_to_edge - logo_image.GetWidth(),
+                        Window.GetY() + Window.GetHeight() - logo_to_edge - logo_image.GetHeight(),
                         -10);
 
 #------------------------------- Swirl galaxies ------------------------------------
@@ -125,13 +127,13 @@ for (i = 0; i < 3; i++)
     swirl_image = swirl_image.Rotate(swirls[i].angle);
     swirl_sprites[i] = Sprite();
     if (swirls[i].x >= 0)
-      swirl_sprites[i].SetX(Window.GetWidth() * swirls[i].x);
+      swirl_sprites[i].SetX(Window.GetX() + Window.GetWidth() * swirls[i].x);
     else
-      swirl_sprites[i].SetX(Window.GetWidth() * (1 + swirls[i].x) - swirl_image.GetWidth());
+      swirl_sprites[i].SetX(Window.GetX() + Window.GetWidth() * (1 + swirls[i].x) - swirl_image.GetWidth());
     if (swirls[i].y >= 0)
-      swirl_sprites[i].SetY(Window.GetHeight() * swirls[i].y);
+      swirl_sprites[i].SetY(Window.GetY() + Window.GetHeight() * swirls[i].y);
     else
-      swirl_sprites[i].SetY(Window.GetHeight() * (1 + swirls[i].y) - swirl_image.GetHeight());
+      swirl_sprites[i].SetY(Window.GetY() + Window.GetHeight() * (1 + swirls[i].y) - swirl_image.GetHeight());
     swirl_sprites[i].SetImage(swirl_image);
   }
 
@@ -192,9 +194,9 @@ for (i = 0; i < NUM_STARS; i++)
 
     # Randomize position, we accept that stars may be half out of the viewport
     # in each direction
-    star_x = Math.Random() * (Window.GetWidth() + transformed_image.GetWidth()) 
+    star_x = Window.GetX() + Math.Random() * (Window.GetWidth() + transformed_image.GetWidth()) 
              - transformed_image.GetWidth() / 2;
-    star_y = Math.Random() * (Window.GetHeight() + transformed_image.GetHeight()) 
+    star_y = Window.GetY() + Math.Random() * (Window.GetHeight() + transformed_image.GetHeight()) 
              - transformed_image.GetHeight() / 2;
     stars[i].SetPosition(star_x, star_y, -20); # Stars go behind other elements.
   }
@@ -214,8 +216,8 @@ rocket_sprite = Sprite();
 
 # Rocket trajectory
 # Take a point somwhere in the middle to compute the parabola
-middle_x = Window.GetWidth() * 0.42;
-middle_y = Window.GetHeight() * 0.42;
+middle_x = Window.GetX() + Window.GetWidth() * 0.42;
+middle_y = Window.GetY() + Window.GetHeight() * 0.42;
 # Parabole coeffs so that y = a.x^2 + b.x + c for the earth, planet and middle points
 # Use the earth and planet centers instead of top left corner
 earth_cx = earth_x + earth_images[0].GetWidth()/2;
@@ -314,8 +316,8 @@ fun dialog_setup()
     entry.image = Image("entry.png");
     
     box.sprite = Sprite(box.image);
-    box.x = Window.GetWidth()  / 2 - box.image.GetWidth ()/2;
-    box.y = Window.GetHeight() / 2 - box.image.GetHeight()/2;
+    box.x = Window.GetX() + Window.GetWidth()  / 2 - box.image.GetWidth ()/2;
+    box.y = Window.GetY() + Window.GetHeight() / 2 - box.image.GetHeight()/2;
     box.z = 10000;
     box.sprite.SetPosition(box.x, box.y, box.z);
     
@@ -456,7 +458,7 @@ fun message_callback (text)
       }
     next_msg_image = Image.Text(text, 1, 1, 1, 1);
     msg_sprites[next_msg_idx] = Sprite();
-    msg_sprites[next_msg_idx].SetPosition(10, next_msg_y, 10000);
+    msg_sprites[next_msg_idx].SetPosition(Window.GetX() + 10, Window.GetY() + next_msg_y, 10000);
     msg_sprites[next_msg_idx].SetImage(next_msg_image);
 
     next_msg_idx = (next_msg_idx + 1) % MAX_MSG_DISPLAYED;

--- End Message ---
--- Begin Message ---
Source: desktop-base
Source-Version: 6.0.5squeeze1

We believe that the bug you reported is fixed in the latest version of
desktop-base, which is due to be installed in the Debian FTP archive:

desktop-base_6.0.5squeeze1.dsc
  to main/d/desktop-base/desktop-base_6.0.5squeeze1.dsc
desktop-base_6.0.5squeeze1.tar.gz
  to main/d/desktop-base/desktop-base_6.0.5squeeze1.tar.gz
desktop-base_6.0.5squeeze1_all.deb
  to main/d/desktop-base/desktop-base_6.0.5squeeze1_all.deb



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 613249@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Yves-Alexis Perez <corsac@debian.org> (supplier of updated desktop-base package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Sun, 27 Feb 2011 00:28:11 +0100
Source: desktop-base
Binary: desktop-base
Architecture: source all
Version: 6.0.5squeeze1
Distribution: stable
Urgency: low
Maintainer: Gustavo Franco <stratus@debian.org>
Changed-By: Yves-Alexis Perez <corsac@debian.org>
Description: 
 desktop-base - common files for the Debian Desktop
Closes: 613249
Changes: 
 desktop-base (6.0.5squeeze1) stable; urgency=low
 .
   * debian/plymouth:
     - include patch by adris to fix dual screen setups.         closes: #613249
Checksums-Sha1: 
 68aa6f62dc39624a5cde2fdd7830aa4cb79a86d1 1744 desktop-base_6.0.5squeeze1.dsc
 de56534b4ee3ef49b0b168578e644ca8bbdd0fb5 8152699 desktop-base_6.0.5squeeze1.tar.gz
 1c1ac9aca423c38cd19fdd959f4075f1d893d57f 6649374 desktop-base_6.0.5squeeze1_all.deb
Checksums-Sha256: 
 a5c5a55bc0c1245092f9dbe7aef175ba338e3df7161ddf0a651febf98640fc4e 1744 desktop-base_6.0.5squeeze1.dsc
 5f7705d9c2bb3e74410709b27d52fa23b4c4323df2267d42b3d4badcee8b2cc9 8152699 desktop-base_6.0.5squeeze1.tar.gz
 4b8768f3f43556072024d74d6b96c9035d20b1b53eee19c7a57b4738fe4fd888 6649374 desktop-base_6.0.5squeeze1_all.deb
Files: 
 0b212050b02db867711b8e3fe50ca06f 1744 x11 optional desktop-base_6.0.5squeeze1.dsc
 da7c721df34dfa63475826412205195c 8152699 x11 optional desktop-base_6.0.5squeeze1.tar.gz
 918825e580a6d7aa677270f77fd59349 6649374 x11 optional desktop-base_6.0.5squeeze1_all.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)

iQIcBAEBCgAGBQJNaY88AAoJEDBVD3hx7wuoTLkP/33X46yjdhPnwgDHDCJs590/
7sK3MnFIo50Snhv/X02vybyChaIeEqotrT0r0SfpRUCZ4W9mz86xjNyAADy4tBeC
ZfuJzW4JdiA90WXxZdvUWaZLIHrHz2uRO4YyGRfTFbmu2YhMr+lja5/dis5mfxBV
pnghvAKniAUVC8v5zj+3Wb6aboVpb4O8RhqZWu36fqhfOEULR959bKFmugwmlja3
H/7KsTRzQXyY5KS/9gVeNmgy4jKPeDjUyiLucShqbDeAc07EebjUHXIkHnWExtot
cM5WZ20CZ5wCAyxzMxumH10qdUepeGeRf6NwH88t7vYuPda0emgFuqQcRTK0cCoA
zuoYSW1m2lRCAyybxgvVPc61u4Nqi0ifZD28hF6uxp2XoniD4iC9o33Q+vWQRLPT
g3jAaV68cxWvgVuZCOH3M8xh2qlKQx8KEBM4EuXQhZnFNFTR3X1xywEVQ60ALknE
4EzHzE4cOzvZjkMaaYd9NnzfLkY9ZiE1lfk4CS6y4QBPx4yKY/ULjGE1fpZgsWQh
uyFvBGfIfSVpvXIXKO5yUoAYZgEGfyBAlCIDr7xnEQQCwJoRvTMqMOGCoErJVgyP
xoRy/iGxnT5rUDba4IdfGdUOrZML26ZZPH7K27NrhhKhSLZ87lutK3eWCwLuKl/h
ctSV4xpyhicL28hdI0zo
=Kjir
-----END PGP SIGNATURE-----



--- End Message ---

Reply to: