lsdev.org/bugs
» home
» bugs
» cvs

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0000107 [litestep core] core feature always 2010-07-15 05:08 2010-07-15 05:09
Reporter MamiyaOtaru View Status public  
Assigned To
Priority none Resolution open  
Status feedback   Product Version CVS-trunk
Summary 0000107: handling additional case in trayservice allows correct positioning of vista+ icons
Description An unhandled case in trayservice is hit when the new icons ask for position info after, and independent from being clicked. Patch handles this case. More changes are needed in the various tray modules, but afaict, this change is needed in core.

Patch below, attaching it is failing. Is also here, in case the below gets mangled: http://www.sendspace.com/file/vqmoo3 [^]
Additional Information diff -Naur ./litestepOld/TrayService.cpp ./litestep//TrayService.cpp
--- ./litestepOld/TrayService.cpp 2010-07-15 05:57:37.036467900 -0600
+++ ./litestep//TrayService.cpp 2010-07-15 05:58:02.711936500 -0600
@@ -459,6 +459,12 @@
                         }
                     }
                     break;
+
+ case 3:
+ {
+ lResult = pTrayService->TrayInfoEvent(pcds->cbData, pcds->lpData);
+ }
+ break;
                     
                 default:
                     {
@@ -647,6 +653,37 @@
 }
 
 
+LRESULT TrayService::TrayInfoEvent(DWORD cbData, LPVOID lpData) // size, data
+{
+ LRESULT lr = 0;
+ struct NOTIFYICONIDENTIFIER_MSGV1* s = (NOTIFYICONIDENTIFIER_MSGV1*)lpData;
+
+ //systemTrayNode *p;
+ //dolist (p, trayIconList)
+ // if (IsEqualIID(p->guidItem, s->guidItem))
+ // break;
+ //if (NULL == p)
+ // return 0;
+
+ //if (s->dwMessage == 1) {
+ // return MAKELPARAM(p->pt.x, p->pt.y);
+ //}
+
+ if (s->dwMessage == 2) {
+ return MAKELONG(16,16);
+ }
+
+ POINT p;
+ GetCursorPos(&p);
+
+ if (s->dwMessage == 1) {
+ return MAKELPARAM(p.x, p.y);
+ }
+
+ // somehow call this BOOL Tray::onWindowMessage( UINT nMessage, WPARAM wParam, LPARAM lParam, LRESULT &lResult )
+
+}
+
 //=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
 //
 // HandleAppBarCopydata

 
diff -Naur ./litestepOld/TrayService.h ./litestep//TrayService.h
--- ./litestepOld/TrayService.h 2010-07-15 05:57:12.869085600 -0600
+++ ./litestep//TrayService.h 2010-07-15 05:57:52.080328400 -0600
@@ -28,6 +28,7 @@
 #include "../utility/IService.h"
 #include <ObjBase.h>
 #include <vector>
+#include "WinUser.h"
 
 // shell copy data types
 #define SH_APPBAR_DATA (0)
@@ -39,6 +40,17 @@
 #define ABP_NOTIFYSTATECHANGE (WM_USER+351)
 #define ABP_RAISEAUTOHIDEHWND (WM_USER+360)
 
+struct NOTIFYICONIDENTIFIER_MSGV1
+{
+ DWORD dwMagic;
+ DWORD dwMessage;
+ DWORD cbSize;
+ DWORD dwPadding;
+ HWND hWnd;
+ UINT uID;
+ GUID guidItem;
+};
+
 // data sent by shell via Shell_NotifyIcon
 typedef struct _SHELLTRAYDATA
 {

@@ -127,7 +139,10 @@
     LRESULT HandleAppBarCopydata(DWORD cbData, LPVOID lpData);
     LRESULT HandleAppBarMessage(PSHELLAPPBARDATA psad);
     
- // Handler for system tray notifications
+ // Handler for tray info event
+ LRESULT TrayInfoEvent(DWORD cbData, LPVOID lpData);
+
+ // Handler for system tray notifications
     BOOL HandleNotification(PSHELLTRAYDATA pstd);
     
     // Handler for LoadInProc messages
Tags No tags attached.
Attached Files

- Relationships

-  Notes
(0000267)
MamiyaOtaru (reporter)
2010-07-15 05:09

oh god how did these get here I am not good with computer

(delete dupes please, I kept getting an error message from trying to attach file with initial report)

- Issue History
Date Modified Username Field Change
2010-07-15 05:08 MamiyaOtaru New Issue
2010-07-15 05:09 MamiyaOtaru Note Added: 0000267


Copyright © 2000 - 2009 Mantis Group
Powered by Mantis Bugtracker