Adium

Opened 13 years ago

Closed 13 years ago

Last modified 12 years ago

#5232 closed defect (fixed)

Shadows of group bubble after deselecting show offline contacts

Reported by: vikking@gmail.com Owned by: nobody
Milestone: Component: Adium UI
Version: Severity: normal
Keywords: Cc:
Patch Status: Accepted

Description

On a clean install, I changed to group bubble and then deselected show offline contacts and I got this thing:

Attachments (3)

screen.jpg (24.9 KB) - added by vikking@… 13 years ago.
weird shadows
Picture 1.png (25.3 KB) - added by Brian 13 years ago.
shadow left after group has been collapsed.
revengeOfUpdateShadows.diff (1.6 KB) - added by Brian 13 years ago.
Patch: redraw contact list shadows for all non-opaque cases, not just < 90%

Download all attachments as: .zip

Change History (17)

Changed 13 years ago by vikking@…

Attachment: screen.jpg added

weird shadows

comment:1 Changed 13 years ago by Eric Richie

Milestone: Needs feedback from users

Is this still a problem in the current AdiumBeta?

comment:2 Changed 13 years ago by Brian

I believe this is still happening in 1.0.1. Will attach a screenshot showing similar behavior when collapsing a group, this happens with either group bubbles or contact bubbles, but not contact bubbles to fit.

Changed 13 years ago by Brian

Attachment: Picture 1.png added

shadow left after group has been collapsed.

comment:3 Changed 13 years ago by Brian

This appears to be fixed in svn (tested rev 19115).

comment:4 Changed 13 years ago by Eric Richie

Resolution: fixed
Status: newclosed

Reported as fixed for 1.1.

comment:5 Changed 13 years ago by Brian

Bother, this is still happening. Has to meet certain conditions:

  • Group bubbles or contact bubbles
  • Group is collapsed, or contact logs off

Once it happens, the shadows "stick" in the broken configuration, and will track along with the contact window if dragged around. Hide/restore fixes them, and I think (but have to confirm) that it's fixed when a contact comes online and the window is redrawn again.

I'm thinking of having a go at fixing this, but total newb to the AdiumX codebase, so any hints as to where to look would be appreciated.

comment:6 Changed 13 years ago by Eric Richie

Component: NoneAdium UI
Milestone: Needs feedback from usersNeeds Feedback - Received
Resolution: fixed
Status: closedreopened
Version: 1.0b91.1svn

comment:7 Changed 13 years ago by Jordan

Hey,

I just updated to latest SVN about half an hour ago and can reproduce this by doing the following:

1) Enable group bubbles or contact bubbles

2) Expand two (or more) groups so that the scrollbar appears and scroll up or down, the 'shadows' stick to the background and don't scroll with the contacts/groups

It's not really shadows, but instead the background of the window or something like that.

Jordan

comment:8 Changed 13 years ago by Brian

I have figured out the issue, at least for my case and jas8522. Everyone who has reported this, please test with contact window opacity set to 89%, then again at 90% or higher. If your case reproduces at 90%, then it is addressed with this fix. Here is the patch:

--- Frameworks/Adium Framework/Source/AIListOutlineView.m       (revision 19115)+++ Frameworks/Adium Framework/Source/AIListOutlineView.m       (working copy)
@@ -279,10 +279,6 @@
        [_backgroundColorWithOpacity release]; _backgroundColorWithOpacity = nil;
        [_rowColorWithOpacity release]; _rowColorWithOpacity = nil;
 
-       //Turn our shadow drawing hack on if they're going to be visible through the transparency
-       [self setUpdateShadowsWhileDrawing:((backgroundOpacity < 0.9) ||
-                                                                              (windowStyle == AIContactListWindowStyleContactBubbles_Fitted))];
-
        //Mockie and pillow lists always require a non-opaque window, other lists only require a non-opaque window when
        //the user has requested transparency.
        if (windowStyle == AIContactListWindowStyleGroupBubbles || windowStyle == AIContactListWindowStyleContactBubbles || windowStyle == AIContactListWindowStyleContactBubbles_Fitted) {
@@ -290,6 +286,10 @@
        } else {
                [[self window] setOpaque:(backgroundOpacity == 1.0)];
        }
+
+       //Turn our shadow drawing hack on if they're going to be visible through the transparency
+       [self setUpdateShadowsWhileDrawing:((![[self window] isOpaque]) ||
+                                                                              (windowStyle == AIContactListWindowStyleContactBubbles_Fitted))];

I'm not sure how the procedure normally goes, but if someone grants me svn write access I will check this in, otherwise a current developer can go for it.

comment:9 Changed 13 years ago by Jordan

I can confirm this fix. If the window opacity is 89% or lower the problem disappears. While I haven't applied the patch, it appears that should do the trick...

Jordan

Changed 13 years ago by Brian

Attachment: revengeOfUpdateShadows.diff added

Patch: redraw contact list shadows for all non-opaque cases, not just < 90%

comment:10 Changed 13 years ago by Evan Schoenberg

Patch Status: Needs Dev Review

comment:11 Changed 13 years ago by Evan Schoenberg

Resolution: fixed
Status: reopenedclosed

(In [19309]) Patch from Brian Dickman to fix incorrect shadow drawing when 0.9 < opacity < 1.0 for the contact list; we previously invalidated the shadows on drawing only for < 0.9, but the problem exists at any level of transparency besides fully opaque. Fixes #5232. Thanks, Brian\!

comment:12 Changed 13 years ago by Evan Schoenberg

(In [19310]) Merged [19309]: Patch from Brian Dickman to fix incorrect shadow drawing when 0.9 < opacity < 1.0 for the contact list; we previously invalidated the shadows on drawing only for < 0.9, but the problem exists at any level of transparency besides fully opaque. Fixes #5232. Thanks, Brian\!

comment:13 Changed 12 years ago by (none)

Milestone: Needs Feedback - Received

Milestone Needs Feedback - Received deleted

comment:14 Changed 12 years ago by Robert

Patch Status: Needs Dev ReviewAccepted
pending: 0
Note: See TracTickets for help on using tickets.