[Bug 16281] New: Wine lacks support for fully animated cursors
http://bugs.winehq.org/show_bug.cgi?id=16281 Summary: Wine lacks support for fully animated cursors Product: Wine Version: 1.1.9 Platform: All OS/Version: All Status: NEW Severity: minor Priority: P2 Component: winex11.drv AssignedTo: wine-bugs(a)winehq.org ReportedBy: ben(a)atomnet.co.uk As per the title, currently only the first frame of the animated cursor is shown, the cursor itself doesn't "play". -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=16281 Sergey Alirzaev <zl29ah(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |zl29ah(a)gmail.com -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=16281 Jon Portnoy <avenj(a)tellink.net> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |avenj(a)tellink.net -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=16281 Jesper <INCSlayer(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |INCSlayer(a)gmail.com -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=16281 René Kjellerup <rk.katana.steel(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |rk.katana.steel(a)gmail.com -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=16281 David Hallas <david(a)cgp.dk> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |david(a)cgp.dk -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=16281 volker.groeschel(a)sap.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |volker.groeschel(a)sap.com --- Comment #1 from volker.groeschel(a)sap.com 2008-12-02 05:12:21 --- Examples from the original message http://bugs.winehq.org/show_bug.cgi?id=10708#c5 ------- Comment #5 From Dan Kegel 2008-01-29 03:50:49 ------- C&C Generals has a demo at http://www.ea.com/official/cc/generals/us/demos.jsp?state=6 in case anyone wants to try that. Conquer Online seems somewhat popular: http://en.wikipedia.org/wiki/Conquer_Online -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=16281 D <dbuck(a)novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |dbuck(a)novell.com -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=16281 Jaime Rave <jaimerave(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jaimerave(a)gmail.com -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=16281 Dmitry Timoshkov <dmitry(a)codeweavers.com> changed: What |Removed |Added ---------------------------------------------------------------------------- OS/Version|All |other Platform|All |Other -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=16281 knipl(a)in.tum.de changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |knipl(a)in.tum.de -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=16281 Dinth <dinth(a)wikipasy.pl> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |dinth(a)wikipasy.pl --- Comment #2 from Dinth <dinth(a)wikipasy.pl> 2008-12-18 06:01:29 --- Ive got the same bug in Civilization IV: Colonization -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=16281 Jonathan Barnard <WineLauncher.Jonathan(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |WineLauncher.Jonathan(a)gmail. | |com --- Comment #3 from Jonathan Barnard <WineLauncher.Jonathan(a)gmail.com> 2009-01-19 15:14:08 --- C&C Generals has this bug. I have linked this bug to the appdb report. -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=16281 --- Comment #4 from sstepashka <dkuragin(a)mail.ru> 2009-01-27 12:54:06 --- Created an attachment (id=19030) --> (http://bugs.winehq.org/attachment.cgi?id=19030) qqq -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=16281 Ben Hodgetts (Enverex) <ben(a)atomnet.co.uk> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #19030|qqq |Spam description| | Attachment #19030|1 |0 is patch| | Attachment #19030|0 |1 is obsolete| | -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=16281 Markus Elfring <Markus.Elfring(a)web.de> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |Markus.Elfring(a)web.de --- Comment #5 from Markus Elfring <Markus.Elfring(a)web.de> 2009-03-24 02:56:45 --- I hope that the implementation for the function "CURSORICON_CreateIconFromANI" will be completed. http://source.winehq.org/git/wine.git/?a=blob;f=dlls/user32/cursoricon.c;hb=... : FIXME("Loading all frames for .ani cursors not implemented.\n"); -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=16281 Markus Elfring <Markus.Elfring(a)web.de> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |Markus.Elfring(a)web.de --- Comment #5 from Markus Elfring <Markus.Elfring(a)web.de> 2009-03-24 02:56:45 --- I hope that the implementation for the function "CURSORICON_CreateIconFromANI" will be completed. http://source.winehq.org/git/wine.git/?a=blob;f=dlls/user32/cursoricon.c;hb=... : FIXME("Loading all frames for .ani cursors not implemented.\n"); --- Comment #6 from Markus Elfring <Markus.Elfring(a)web.de> 2009-03-24 02:59:53 --- I hope that the implementation for the function "CURSORICON_CreateIconFromANI" will be completed. http://source.winehq.org/git/wine.git/?a=blob;f=dlls/user32/cursoricon.c;hb=... : FIXME("Loading all frames for .ani cursors not implemented.\n"); -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=16281 Markus Elfring <Markus.Elfring(a)web.de> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |Markus.Elfring(a)web.de Artem Semendyaev <lifeissecret(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |lifeissecret(a)gmail.com --- Comment #5 from Markus Elfring <Markus.Elfring(a)web.de> 2009-03-24 02:56:45 --- I hope that the implementation for the function "CURSORICON_CreateIconFromANI" will be completed. http://source.winehq.org/git/wine.git/?a=blob;f=dlls/user32/cursoricon.c;hb=... : FIXME("Loading all frames for .ani cursors not implemented.\n"); --- Comment #6 from Markus Elfring <Markus.Elfring(a)web.de> 2009-03-24 02:59:53 --- I hope that the implementation for the function "CURSORICON_CreateIconFromANI" will be completed. http://source.winehq.org/git/wine.git/?a=blob;f=dlls/user32/cursoricon.c;hb=... : FIXME("Loading all frames for .ani cursors not implemented.\n"); -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=16281 Markus Elfring <Markus.Elfring(a)web.de> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |Markus.Elfring(a)web.de Artem Semendyaev <lifeissecret(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |lifeissecret(a)gmail.com Daniel Santos <daniel.santos(a)pobox.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |daniel.santos(a)pobox.com --- Comment #5 from Markus Elfring <Markus.Elfring(a)web.de> 2009-03-24 02:56:45 --- I hope that the implementation for the function "CURSORICON_CreateIconFromANI" will be completed. http://source.winehq.org/git/wine.git/?a=blob;f=dlls/user32/cursoricon.c;hb=... : FIXME("Loading all frames for .ani cursors not implemented.\n"); --- Comment #6 from Markus Elfring <Markus.Elfring(a)web.de> 2009-03-24 02:59:53 --- I hope that the implementation for the function "CURSORICON_CreateIconFromANI" will be completed. http://source.winehq.org/git/wine.git/?a=blob;f=dlls/user32/cursoricon.c;hb=... : FIXME("Loading all frames for .ani cursors not implemented.\n"); --- Comment #7 from Daniel Santos <daniel.santos(a)pobox.com> 2009-07-24 02:16:02 --- I've posted a patch set here that should correct this, but the animated cursor work isn't actually mine, it's Griswold's http://glest.codemonger.org/files/wine/cursor-work-20090723.tbz2 I'm hoping to get it in soon. -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=16281 Markus Elfring <Markus.Elfring(a)web.de> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |Markus.Elfring(a)web.de Artem Semendyaev <lifeissecret(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |lifeissecret(a)gmail.com Daniel Santos <daniel.santos(a)pobox.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |daniel.santos(a)pobox.com Austin English <austinenglish(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |patrick.vijgeboom(a)me.com CC| |g9xhh5p02(a)sneakemail.com --- Comment #5 from Markus Elfring <Markus.Elfring(a)web.de> 2009-03-24 02:56:45 --- I hope that the implementation for the function "CURSORICON_CreateIconFromANI" will be completed. http://source.winehq.org/git/wine.git/?a=blob;f=dlls/user32/cursoricon.c;hb=... : FIXME("Loading all frames for .ani cursors not implemented.\n"); --- Comment #6 from Markus Elfring <Markus.Elfring(a)web.de> 2009-03-24 02:59:53 --- I hope that the implementation for the function "CURSORICON_CreateIconFromANI" will be completed. http://source.winehq.org/git/wine.git/?a=blob;f=dlls/user32/cursoricon.c;hb=... : FIXME("Loading all frames for .ani cursors not implemented.\n"); --- Comment #7 from Daniel Santos <daniel.santos(a)pobox.com> 2009-07-24 02:16:02 --- I've posted a patch set here that should correct this, but the animated cursor work isn't actually mine, it's Griswold's http://glest.codemonger.org/files/wine/cursor-work-20090723.tbz2 I'm hoping to get it in soon. --- Comment #8 from Austin English <austinenglish(a)gmail.com> 2009-08-26 12:48:00 --- *** Bug 17466 has been marked as a duplicate of this bug. *** --- Comment #9 from Austin English <austinenglish(a)gmail.com> 2009-08-26 12:49:06 --- *** Bug 17419 has been marked as a duplicate of this bug. *** --- Comment #10 from Erich Hoover <ehoover(a)mines.edu> 2009-11-02 21:02:35 --- Created an attachment (id=24527) --> (http://bugs.winehq.org/attachment.cgi?id=24527) A different take on animated cursors Since the last pre-compiled C&C3 package was made for Wine 1.1.6, I decided to take a look into packaging up the most recent fixes for getting Wine running C&C3 well. I took a look at the last cursor patch and the approach bothered me somewhat, so I've attached a different take on handling animated cursors. So, if anyone has any comments or suggestions then please let me know. Any history on why the previous patches were rejected would also be appreciated. -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=16281 Erich Hoover <ehoover(a)mines.edu> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ehoover(a)mines.edu -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=16281 --- Comment #11 from Daniel Santos <daniel.santos(a)pobox.com> 2009-11-04 20:06:45 --- I didn't want to be removed from the CC of this bug. The patch set is still in existance, it just needs a bit more work before it can make it through. -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=16281 --- Comment #12 from Erich Hoover <ehoover(a)mines.edu> 2009-11-04 20:27:51 --- (In reply to comment #11)
I didn't want to be removed from the CC of this bug. The patch set is still in existance, it just needs a bit more work before it can make it through.
At least when I was poking around a while back (and still true today) I didn't get anything when I tried to visit the link in your comment. Was there any reasoning given on why the previous patches have not been accepted? -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=16281 Andrew Riedi <andrewriedi(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |andrewriedi(a)gmail.com --- Comment #13 from Andrew Riedi <andrewriedi(a)gmail.com> 2009-11-05 21:55:15 ---
At least when I was poking around a while back (and still true today) I didn't get anything when I tried to visit the link in your comment. Was there any reasoning given on why the previous patches have not been accepted?
Just looked over your patch briefly. The main difficulty is not to break any 16-bit applications, such as Paint, that like to modify the cursor data directly. A true CURSORICONINFO followed by the (single) frame *must* be passed to at least the 16-bit cursor functions. The 16-bit cursor(/icon) handles *must* not have any change in the cursor struct, which obviously complicates things. So, maybe work should be focused on unwrapping the 16/32-bit mess we have now with cursors. Currently, cursor code uses the old 16-bit memory alloc functions. It would be better to use them only when needed, and have the main 32-bit version of the cursor be whatever struct we want. We could make a table to convert between 16<->32 bit cursors. We would then convert 16->32 right before a draw, just in case the 16-bit form had been altered, and 32->16 whenever we need to alter a cursor. We would then be able to make Wine use a struct like your WINECURSORICONINFO internally, since the 16-bit application would have its own regular CURSORICONINFO to alter. But that work must be done first. I suppose that placing .ani info right after the first frame might also work, but that is just hacky. The only thing real fix I can think of is to make a table to convert between 16<->32 bit cursors and have 2 versions for the 16-bit case, and ignore 16-bit stuff in the 32-bit (and 64-bit) case. What do you guys think? Note: Another potential issue is how Windows acts when one process decides to use a cursor handle that another process made. Since Wine isn't correct here now (see user32 cursoricon tests), this shouldn't be of immediate concern. -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=16281 --- Comment #14 from Erich Hoover <ehoover(a)mines.edu> 2009-11-07 20:22:31 --- (In reply to comment #13)
Just looked over your patch briefly. The main difficulty is not to break any 16-bit applications, such as Paint, that like to modify the cursor data directly. A true CURSORICONINFO followed by the (single) frame *must* be passed to at least the 16-bit cursor functions. The 16-bit cursor(/icon) handles *must* not have any change in the cursor struct, which obviously complicates things.
Is this actually the case? I would have assumed these applications are playing with the pointers returned by DumpIcon. Do you have an obtainable example of such an application? I don't have any Win 3.1 disks anymore and I'd assume newer versions of Paint no-longer work this way. I'm thinking it's likely that even if these applications expect the icon pointer to start with CURSORICONINFO that they then grab the pointer to the actual data with DumpIcon. If this is the case then just placing the CURSORICONINFO at the beginning of the structure would satisfy these applications.
... I suppose that placing .ani info right after the first frame might also work, but that is just hacky. The only thing real fix I can think of is to make a table to convert between 16<->32 bit cursors and have 2 versions for the 16-bit case, and ignore 16-bit stuff in the 32-bit (and 64-bit) case. What do you guys think? ...
I'd have to take a deeper look into how LockResource and GlobalLock work to form an opinion here. I'm hoping that this isn't really necessary and can be avoided using the technique discussed above. -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=16281 Erich Hoover <ehoover(a)mines.edu> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #24527|0 |1 is obsolete| | --- Comment #15 from Erich Hoover <ehoover(a)mines.edu> 2009-11-11 18:35:52 --- Created an attachment (id=24681) --> (http://bugs.winehq.org/attachment.cgi?id=24681) A different take on animated cursors [v2] (In reply to comment #13)
... The main difficulty is not to break any 16-bit applications, such as Paint, that like to modify the cursor data directly. ...
I managed to find a copy of the ol' Paint and you are quite correct (* insert frustration here *).
So, maybe work should be focused on unwrapping the 16/32-bit mess we have now with cursors. Currently, cursor code uses the old 16-bit memory alloc functions. It would be better to use them only when needed, and have the main 32-bit version of the cursor be whatever struct we want. We could make a table to convert between 16<->32 bit cursors. We would then convert 16->32 right before a draw, just in case the 16-bit form had been altered, and 32->16 whenever we need to alter a cursor. We would then be able to make Wine use a struct like your WINECURSORICONINFO internally, since the 16-bit application would have its own regular CURSORICONINFO to alter. But that work must be done first.
I've attached a new version that does this to an extent. I learned from exploring LockResource that we know which pointers are created using a 32-bit alloc and which are created using a 16-bit alloc, so a table is not necessary. The attached approach keeps the 16-bit icons as 16-bit icons but then it creates a 32-bit "wrapper" around them for anywhere that they are used internally (to keep things nice and neat). -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=16281 --- Comment #16 from Andrew Riedi <andrewriedi(a)gmail.com> 2009-12-29 00:54:07 --- AJ just did some work on the 16/32 bit issues. I wonder if we could somehow use the WOW support to help us. -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=16281 Dmitry Timoshkov <dmitry(a)codeweavers.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Component|winex11.drv |user32 Summary|Wine lacks support for |Support for animated |fully animated cursors |cursors is not implemented -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=16281 --- Comment #17 from Henri Verbeet <hverbeet(a)gmail.com> 2009-12-29 07:09:41 --- (In reply to comment #16)
AJ just did some work on the 16/32 bit issues. I wonder if we could somehow use the WOW support to help us.
I was hoping he'd implement animated cursors as a side effect :-) That way we could have shiny icons *and* cursors in 1.2. -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=16281 Erich Hoover <ehoover(a)mines.edu> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #24681|0 |1 is obsolete| | --- Comment #18 from Erich Hoover <ehoover(a)mines.edu> 2010-01-01 19:53:30 --- Created an attachment (id=25498) --> (http://bugs.winehq.org/attachment.cgi?id=25498) Animated cursor patchset (16-bit and 32-bit separated) (In reply to comment #17)
... I was hoping he'd implement animated cursors as a side effect :-) That way we could have shiny icons *and* cursors in 1.2.
The 16-bit cursors still aren't fully separated from the 32-bit cursors. I've attached a patchset that separates things a lot more (patches 1-3), then implements a new layout for 32-bit cursors (patch 4), then adds animated cursor support (patch 5). If anyone has a chance to look it over I'd appreciate some feedback. -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=16281 --- Comment #19 from Andrew Riedi <andrewriedi(a)gmail.com> 2010-01-01 22:01:25 ---
The 16-bit cursors still aren't fully separated from the 32-bit cursors. I've attached a patchset that separates things a lot more (patches 1-3), then implements a new layout for 32-bit cursors (patch 4), then adds animated cursor support (patch 5). If anyone has a chance to look it over I'd appreciate some feedback.
Hello. I briefly looked over your patches. I could be wrong, but I don't think AJ will go for wine-specific extensions. eg. WINE_CursorIcon32To16(), WINE_get_cursoricon_ptr, LR_WINE16BIT, etc. As far as the .ani struct goes, it might be better to allocate only one piece of memory, but that is not all that important. When I talked to AJ most recently, the idea was to pass a handle to winex11.drv's create_cursor() and have separate handles and structs for 16-bit and 32-bit icons/cursors. I didn't get time to ask for details on how he would want that done. It seems that with this approach we will either have to duplicate some code or make a 32->16 conversion function so that we can use eg. 32-bit LoadImageA() to implement the 16-bit loading functions. Of course, with this idea, conversion will only need to happen once. -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=16281 --- Comment #20 from Erich Hoover <ehoover(a)mines.edu> 2010-01-01 23:02:15 --- (In reply to comment #19)
...
Hello. I briefly looked over your patches. I could be wrong, but I don't think AJ will go for wine-specific extensions. eg. WINE_CursorIcon32To16(), WINE_get_cursoricon_ptr, LR_WINE16BIT, etc. As far as the .ani struct goes, it might be better to allocate only one piece of memory, but that is not all that important.
What exactly do you mean WRT to the animated cursors here? There's only one allocation for the entire animated cursor...
When I talked to AJ most recently, the idea was to pass a handle to winex11.drv's create_cursor() and have separate handles and structs for 16-bit and 32-bit icons/cursors. I didn't get time to ask for details on how he would want that done. It seems that with this approach we will either have to duplicate some code or make a 32->16 conversion function so that we can use eg. 32-bit LoadImageA() to implement the 16-bit loading functions. Of course, with this idea, conversion will only need to happen once.
At least from what I saw, you'll need some sort of wine-specific extensions to allow the conversion of icons in places where a non-cursor 16-bit function calls a non-cursor 32-bit function (like OleMetafilePictFromIconAndLabel16). Unless, of course, you wanted to copy over the code in these functions. A bunch of the extensions I created were mostly for book-keeping purposes or to make sure there would be an assertion if a 16-bit cursor snuck its way into a 32-bit function (this helped me to track down issues with SetClassLong/SetClassWord). In other words, I think I've done a relatively decent job of doing what you describe. I don't believe it's all the way there yet, but you'd have to duplicate quite a bit of code in order to completely separate out the 16-bit icons. -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=16281 --- Comment #21 from Erich Hoover <ehoover(a)mines.edu> 2010-01-06 15:41:51 --- Created an attachment (id=25577) --> (http://bugs.winehq.org/attachment.cgi?id=25577) Snippet converting icons 32->16 w/o internal functions (In reply to comment #19)
... want that done. It seems that with this approach we will either have to duplicate some code or make a 32->16 conversion function so that we can use eg. 32-bit LoadImageA() to implement the 16-bit loading functions. Of course, with this idea, conversion will only need to happen once.
I've attached a routine for building a 16-bit icon from a 32-bit icon without the use of internal functions. Can you think of any simplier way to do this? -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=16281 Erich Hoover <ehoover(a)mines.edu> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #25498|0 |1 is obsolete| | --- Comment #22 from Erich Hoover <ehoover(a)mines.edu> 2010-01-10 13:33:52 --- Created an attachment (id=25654) --> (http://bugs.winehq.org/attachment.cgi?id=25654) Animated cursor patchset (16-bit and 32-bit separated) [v2] Attached is a much cleaner patch set for implementing animated cursors (suggestions welcome!). 1) Convert 32->16 icons in shell rather than typecasting 2) Convert 16<->32 icons/cursors in user rather than typecasting 3) Allocate 32-bit cursors w/o using 16-bit routines 4) Change icon/cursor memory layout for 32-bit cursors 5) Implement animated cursors 6) Call display driver directly in 16-bit user [ugly, requires cleanup] 7) Process 16-bit WM_SETCURSOR with 16-bit SetCursor -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=16281 Erich Hoover <ehoover(a)mines.edu> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #25577|0 |1 is obsolete| | Attachment #25654|0 |1 is obsolete| | --- Comment #23 from Erich Hoover <ehoover(a)mines.edu> 2010-02-16 22:21:39 --- Created an attachment (id=26270) --> (http://bugs.winehq.org/attachment.cgi?id=26270) ICONINFO patchset for animated cursors The attached patchset implements animated cursors by internally storing an array of ICONINFO structures. This array, the array length, and the time between frames is then passed to the X11 driver to render the animated cursor. I would appreciate any and all feedback. For those not following wine-devel, Alexandre is interested in more test cases being written for the cursor code. Specifically, for bitmaps that do no match the screen depth. The attached patchset should provide identical functionality to the current Wine implementation, but I will try to do this when I get the chance. Does anyone know what GetIconInfo() does with an animated cursor? A long time ago (win2k days) I experimented with such things, and if memory serves GetIconInfo() just returns the information for the first frame of the cursor. If someone has more recent knowledge that would be appreciated. Also, if anyone knows of an animated cursor that's compatible with the Wine license then I can throw in a test case for good measure. -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=16281 Carlton Hobbs <carlton.hobbs(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |carlton.hobbs(a)gmail.com -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=16281 rusivi <rusivi1(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |rusivi1(a)gmail.com --- Comment #24 from rusivi <rusivi1(a)gmail.com> 2010-09-13 18:17:41 CDT --- Is this an issue in newest WINE? -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=16281 Luis Busquets <luis.busquets(a)ilidium.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |luis.busquets(a)ilidium.com --- Comment #25 from Luis Busquets <luis.busquets(a)ilidium.com> 2010-09-14 00:28:52 CDT --- Yes it is. -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=16281 Jerome Leclanche <adys.wh(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |adys.wh(a)gmail.com --- Comment #26 from Jerome Leclanche <adys.wh(a)gmail.com> 2010-09-28 12:01:31 CDT --- Commits ca7163e4386f576d8fd3b3f0c53b43522da4c437 and 7bba6234e30dbb8e7bccab2b076d5174d0f72bbb implement the backend for it. Waiting for eric to send a better version of http://source.winehq.org/patches/data/66474. -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=16281 --- Comment #27 from Erich Hoover <ehoover(a)mines.edu> 2010-09-28 12:48:52 CDT --- (In reply to comment #26)
Commits ca7163e4386f576d8fd3b3f0c53b43522da4c437 and 7bba6234e30dbb8e7bccab2b076d5174d0f72bbb implement the backend for it. Waiting for eric to send a better version of http://source.winehq.org/patches/data/66474.
Wow, you are way too on top of this to notice those commits ;) I'll likely post a revised version some time this evening, when I have access to software I can test it against. I actually have a version more like what Alexandre wants, but in tracking down a bug I ended up making things much more "atomic." To make a long story short, I spent an entire day tracking down a bug that ended up being that I forgot to set the "width" and "height" variables in the backend. -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=16281 --- Comment #28 from Jerome Leclanche <adys.wh(a)gmail.com> 2010-10-07 13:50:58 CDT --- Erich Hoover's final patch has been committed as e84eb16c05559fea55f2219ea1a08e2efc0244ea. Fixed. -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=16281 Wylda <wylda(a)volny.cz> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |wylda(a)volny.cz --- Comment #29 from Wylda <wylda(a)volny.cz> 2010-10-07 14:04:24 CDT --- Reported fixed. Remaining problems (if any) should go into separate bug reports. -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=16281 Wylda <wylda(a)volny.cz> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED --- Comment #30 from Wylda <wylda(a)volny.cz> 2010-10-07 14:14:15 CDT --- Mark it for real. -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=16281 Alexandre Julliard <julliard(a)winehq.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED --- Comment #31 from Alexandre Julliard <julliard(a)winehq.org> 2010-10-15 12:49:39 CDT --- Closing bugs fixed in 1.3.5. -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=16281 Alexandre Julliard <julliard(a)winehq.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |1.2.x -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=16281 Alexandre Julliard <julliard(a)winehq.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|1.2.x |--- --- Comment #32 from Alexandre Julliard <julliard(a)winehq.org> 2010-12-03 12:51:34 CST --- Removing 1.2.x milestone from bugs included in 1.2.2. -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=16281 Alex Gustafsson <alex-gustafsson(a)live.se> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |alex-gustafsson(a)live.se -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=16281 Jerome Leclanche <adys.wh(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |e84eb16c05559fea55f2219ea1a | |08e2efc0244ea -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.
participants (1)
-
wine-bugs@winehq.org