fix(wayland/xdg/popup): configure the popup then xdg surface
This commit is contained in:
@@ -3,6 +3,7 @@ use crate::nodes::items::panel::{ChildInfo, SurfaceId};
|
|||||||
use crate::wayland::util::ClientExt;
|
use crate::wayland::util::ClientExt;
|
||||||
use crate::wayland::{core::surface::SurfaceRole, display::Display, xdg::toplevel::Toplevel};
|
use crate::wayland::{core::surface::SurfaceRole, display::Display, xdg::toplevel::Toplevel};
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
|
use waynest::server::protocol::stable::xdg_shell::xdg_popup::XdgPopup;
|
||||||
pub use waynest::server::protocol::stable::xdg_shell::xdg_surface::*;
|
pub use waynest::server::protocol::stable::xdg_shell::xdg_surface::*;
|
||||||
use waynest::{
|
use waynest::{
|
||||||
server::{Client, Dispatcher, Result},
|
server::{Client, Dispatcher, Result},
|
||||||
@@ -158,6 +159,7 @@ impl XdgSurface for Surface {
|
|||||||
Popup::new(popup_id, self.version, parent.clone(), surface, &positioner),
|
Popup::new(popup_id, self.version, parent.clone(), surface, &positioner),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
popup.configure(client, popup_id, 0, 0, 0, 0).await?;
|
||||||
let serial = client.next_event_serial();
|
let serial = client.next_event_serial();
|
||||||
self.configure(client, sender_id, serial).await?;
|
self.configure(client, sender_id, serial).await?;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user