Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-cw
Commits
96f8de0d
Commit
96f8de0d
authored
Sep 02, 2008
by
Vincent Povirk
Committed by
Alexandre Julliard
Sep 05, 2008
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
explorer: Implement ABM_ADD and ABM_REMOVE.
parent
b4c78be5
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
50 additions
and
3 deletions
+50
-3
appbar.c
dlls/shell32/tests/appbar.c
+1
-1
appbar.c
programs/explorer/appbar.c
+49
-2
No files found.
dlls/shell32/tests/appbar.c
View file @
96f8de0d
...
...
@@ -156,7 +156,7 @@ static void test_setpos(void)
/* ABM_NEW should return FALSE if the window is already registered */
ret
=
SHAppBarMessage
(
ABM_NEW
,
&
abd
);
todo_wine
ok
(
ret
==
FALSE
,
"SHAppBarMessage returned %i
\n
"
,
ret
);
ok
(
ret
==
FALSE
,
"SHAppBarMessage returned %i
\n
"
,
ret
);
do_events
();
/* dock window1 to the bottom of the screen */
...
...
programs/explorer/appbar.c
View file @
96f8de0d
...
...
@@ -43,15 +43,62 @@ struct appbar_response
static
HWND
appbarmsg_window
=
NULL
;
struct
appbar_data
{
struct
list
entry
;
HWND
hwnd
;
UINT
callback_msg
;
};
static
struct
list
appbars
=
LIST_INIT
(
appbars
);
static
struct
appbar_data
*
get_appbar
(
HWND
hwnd
)
{
struct
appbar_data
*
data
;
LIST_FOR_EACH_ENTRY
(
data
,
&
appbars
,
struct
appbar_data
,
entry
)
{
if
(
data
->
hwnd
==
hwnd
)
return
data
;
}
return
NULL
;
}
static
UINT_PTR
handle_appbarmessage
(
DWORD
msg
,
PAPPBARDATA
abd
)
{
struct
appbar_data
*
data
;
switch
(
msg
)
{
case
ABM_NEW
:
WINE_FIXME
(
"SHAppBarMessage(ABM_NEW, hwnd=%p, callback=%x): stub
\n
"
,
abd
->
hWnd
,
abd
->
uCallbackMessage
);
if
(
get_appbar
(
abd
->
hWnd
))
{
/* fail when adding an hwnd the second time */
return
FALSE
;
}
data
=
HeapAlloc
(
GetProcessHeap
(),
HEAP_ZERO_MEMORY
,
sizeof
(
struct
appbar_data
));
if
(
!
data
)
{
WINE_ERR
(
"out of memory
\n
"
);
return
FALSE
;
}
data
->
hwnd
=
abd
->
hWnd
;
data
->
callback_msg
=
abd
->
uCallbackMessage
;
list_add_tail
(
&
appbars
,
&
data
->
entry
);
return
TRUE
;
case
ABM_REMOVE
:
WINE_FIXME
(
"SHAppBarMessage(ABM_REMOVE, hwnd=%p): stub
\n
"
,
abd
->
hWnd
);
if
((
data
=
get_appbar
(
abd
->
hWnd
)))
{
list_remove
(
&
data
->
entry
);
HeapFree
(
GetProcessHeap
(),
0
,
data
);
}
else
WINE_WARN
(
"removing hwnd %p not on the list
\n
"
,
abd
->
hWnd
);
return
TRUE
;
case
ABM_QUERYPOS
:
WINE_FIXME
(
"SHAppBarMessage(ABM_QUERYPOS, hwnd=%p, edge=%x, rc=%s): stub
\n
"
,
abd
->
hWnd
,
abd
->
uEdge
,
wine_dbgstr_rect
(
&
abd
->
rc
));
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment