Skip to content
This repository has been archived by the owner on Aug 20, 2020. It is now read-only.

Simplify retrieveing primary screen attributes. #20

Merged
merged 1 commit into from
Aug 21, 2013
Merged

Conversation

kalyankondapally
Copy link
Contributor

In DefaultDisplaySpec we retrieve the first screen in screen list, check
all available modes. The attibutes of first mode with WL_OUTPUT_MODE_CURRENT
enabled are retrieved as geometry of screen. The patch introduces
the concept of primary screen (output). The api is part of WaylandDisplay
and logic to decide which is primary screen is internal to WaylandDisplay.
Currently, first screen in screen_list is always primary screen.
We dont have to store all modes of screen but only last mode with
WL_OUTPUT_MODE_CURRENT flag enabled.

In DefaultDisplaySpec we retrieve the first screen in screen list, check
all available modes. The attibutes of first mode with WL_OUTPUT_MODE_CURRENT
enabled are retrieved as geometry of screen. The patch introduces
the concept of primary screen (output). The api is part of WaylandDisplay
and logic to decide which is primary screen is internal to WaylandDisplay.
Currently, first screen in screen_list is always primary screen.
We dont have to store all modes of screen but only last mode with
WL_OUTPUT_MODE_CURRENT flag enabled.
@tiagovignatti
Copy link
Contributor

LGTM... but how are you actually testing this code? I understand that DefaultDisplaySpec is only used by the TouchEventConverterOzone code, which is initialized by EventFactoryOzone::CreateStartupEventConverters. The latter, always fails to me after trying to search the first input fd and that's how it should be happening on Wayland.

tiagovignatti added a commit that referenced this pull request Aug 21, 2013
Simplify retrieveing primary screen attributes.
@tiagovignatti tiagovignatti merged commit f6b471b into master Aug 21, 2013
@tiagovignatti tiagovignatti deleted the screen branch August 21, 2013 17:10
tiagovignatti added a commit that referenced this pull request May 28, 2014
[17567:17567:0528/100616:ERROR:display.cc(227)] Not implemented reached in virtual void ozonewayland::WaylandDisplay::SetWidgetState(unsigned int, ui::WidgetState, unsigned int, unsigned int) SHOW 1
[17567:17606:0528/100616:WARNING:server_connection_manager.cc(296)] ServerConnectionManager forcing SYNC_AUTH_ERROR
[17567:17606:0528/100616:WARNING:syncer_proto_util.cc(277)] Error posting from syncer: Response Code (bogus on error): -1 Content-Length (bogus on error): -1 Server Status: SYNC_AUTH_ERROR
[17567:17606:0528/100616:ERROR:get_updates_processor.cc(240)] PostClientToServerMessage() failed during GetUpdates
[17567:17584:0528/100617:WARNING:backend_impl.cc(1780)] Destroying invalid entry.
[17567:17567:0528/100616:FATAL:input_device.cc(216)] Check failed: input_pointer_.
 #0 0x7f9f01fd0a99 base::debug::StackTrace::StackTrace()
 #1 0x7f9f02022a33 logging::LogMessage::~LogMessage()
 #2 0x7f9f03337610 ozonewayland::WaylandInputDevice::SetCursorType()
 #3 0x7f9f0332f9c8 ozonewayland::WaylandDisplay::SetWidgetCursor()
 #4 0x7f9f06f07869 views::DesktopWindowTreeHostWayland::SetCursorNative()
 #5 0x7f9f033238ad aura::WindowTreeHost::SetCursor()
 #6 0x7f9f06f1da8d views::DesktopNativeCursorManager::SetCursor()
 #7 0x7f9f06dcdf5c wm::CursorManager::SetCursor()
 #8 0x7f9f06dc94d8 wm::CompoundEventFilter::UpdateCursor()
 #9 0x7f9f06dc99bf wm::CompoundEventFilter::OnMouseEvent()
 #10 0x7f9f086c0093 ui::EventHandler::OnEvent()
 #11 0x7f9f086bdcf1 ui::EventDispatcher::DispatchEvent()
 #12 0x7f9f086bdab7 ui::EventDispatcher::DispatchEventToEventHandlers()
 #13 0x7f9f086bd79d ui::EventDispatcher::ProcessEvent()
 #14 0x7f9f086bd476 ui::EventDispatcherDelegate::DispatchEventToTarget()
 #15 0x7f9f086bd33d ui::EventDispatcherDelegate::DispatchEvent()
 #16 0x7f9f0331bcbf aura::WindowEventDispatcher::DispatchMouseEnterOrExit()
 #17 0x7f9f0331dde1 aura::WindowEventDispatcher::PreDispatchMouseEvent()
 #18 0x7f9f0331c5c1 aura::WindowEventDispatcher::PreDispatchEvent()
 #19 0x7f9f086bd2dd ui::EventDispatcherDelegate::DispatchEvent()
 #20 0x7f9f086c15e7 ui::EventProcessor::OnEventFromSource()
 #21 0x7f9f0331d845 aura::WindowEventDispatcher::SynthesizeMouseMoveEvent()
 #22 0x7f9f0331fe00 base::internal::RunnableAdapter<>::Run()
 #23 0x7f9f0331fc87 base::internal::InvokeHelper<>::MakeItSo()
 #24 0x7f9f0331fab8 base::internal::Invoker<>::Run()
 #25 0x7f9f00e1beb9 base::Callback<>::Run()
 #26 0x7f9f02033288 base::MessageLoop::RunTask()
 #27 0x7f9f020333ac base::MessageLoop::DeferOrRunPendingTask()
 #28 0x7f9f020338d3 base::MessageLoop::DoWork()
 #29 0x7f9f01fb45ef base::MessagePumpLibevent::Run()
 #30 0x7f9f02032dd7 base::MessageLoop::RunHandler()
 #31 0x7f9f0207300a base::RunLoop::Run()
 #32 0x7f9f01678366 ChromeBrowserMainParts::MainMessageLoopRun()
 #33 0x7f9f05851634 content::BrowserMainLoop::RunMainMessageLoopParts()
 #34 0x7f9f058589dc content::BrowserMainRunnerImpl::Run()
 #35 0x7f9f0584dba8 content::BrowserMain()
 #36 0x7f9f01f73f75 content::RunNamedProcessTypeMain()
 #37 0x7f9f01f74fa1 content::ContentMainRunnerImpl::Run()
 #38 0x7f9f01f73439 content::ContentMain()
 #39 0x7f9f00d75344 ChromeMain
 #40 0x7f9f00d752ea main
 #41 0x7f9efcbc876d __libc_start_main
 #42 0x7f9f00d751f9 <unknown>
rakuco pushed a commit to rakuco/ozone-wayland that referenced this pull request Jun 19, 2014
[17567:17567:0528/100616:ERROR:display.cc(227)] Not implemented reached in virtual void ozonewayland::WaylandDisplay::SetWidgetState(unsigned int, ui::WidgetState, unsigned int, unsigned int) SHOW 1
[17567:17606:0528/100616:WARNING:server_connection_manager.cc(296)] ServerConnectionManager forcing SYNC_AUTH_ERROR
[17567:17606:0528/100616:WARNING:syncer_proto_util.cc(277)] Error posting from syncer: Response Code (bogus on error): -1 Content-Length (bogus on error): -1 Server Status: SYNC_AUTH_ERROR
[17567:17606:0528/100616:ERROR:get_updates_processor.cc(240)] PostClientToServerMessage() failed during GetUpdates
[17567:17584:0528/100617:WARNING:backend_impl.cc(1780)] Destroying invalid entry.
[17567:17567:0528/100616:FATAL:input_device.cc(216)] Check failed: input_pointer_.
 #0 0x7f9f01fd0a99 base::debug::StackTrace::StackTrace()
 intel#1 0x7f9f02022a33 logging::LogMessage::~LogMessage()
 intel#2 0x7f9f03337610 ozonewayland::WaylandInputDevice::SetCursorType()
 intel#3 0x7f9f0332f9c8 ozonewayland::WaylandDisplay::SetWidgetCursor()
 intel#4 0x7f9f06f07869 views::DesktopWindowTreeHostWayland::SetCursorNative()
 intel#5 0x7f9f033238ad aura::WindowTreeHost::SetCursor()
 intel#6 0x7f9f06f1da8d views::DesktopNativeCursorManager::SetCursor()
 intel#7 0x7f9f06dcdf5c wm::CursorManager::SetCursor()
 intel#8 0x7f9f06dc94d8 wm::CompoundEventFilter::UpdateCursor()
 intel#9 0x7f9f06dc99bf wm::CompoundEventFilter::OnMouseEvent()
 intel#10 0x7f9f086c0093 ui::EventHandler::OnEvent()
 intel#11 0x7f9f086bdcf1 ui::EventDispatcher::DispatchEvent()
 intel#12 0x7f9f086bdab7 ui::EventDispatcher::DispatchEventToEventHandlers()
 intel#13 0x7f9f086bd79d ui::EventDispatcher::ProcessEvent()
 intel#14 0x7f9f086bd476 ui::EventDispatcherDelegate::DispatchEventToTarget()
 intel#15 0x7f9f086bd33d ui::EventDispatcherDelegate::DispatchEvent()
 intel#16 0x7f9f0331bcbf aura::WindowEventDispatcher::DispatchMouseEnterOrExit()
 intel#17 0x7f9f0331dde1 aura::WindowEventDispatcher::PreDispatchMouseEvent()
 intel#18 0x7f9f0331c5c1 aura::WindowEventDispatcher::PreDispatchEvent()
 intel#19 0x7f9f086bd2dd ui::EventDispatcherDelegate::DispatchEvent()
 intel#20 0x7f9f086c15e7 ui::EventProcessor::OnEventFromSource()
 intel#21 0x7f9f0331d845 aura::WindowEventDispatcher::SynthesizeMouseMoveEvent()
 intel#22 0x7f9f0331fe00 base::internal::RunnableAdapter<>::Run()
 intel#23 0x7f9f0331fc87 base::internal::InvokeHelper<>::MakeItSo()
 intel#24 0x7f9f0331fab8 base::internal::Invoker<>::Run()
 intel#25 0x7f9f00e1beb9 base::Callback<>::Run()
 intel#26 0x7f9f02033288 base::MessageLoop::RunTask()
 intel#27 0x7f9f020333ac base::MessageLoop::DeferOrRunPendingTask()
 intel#28 0x7f9f020338d3 base::MessageLoop::DoWork()
 intel#29 0x7f9f01fb45ef base::MessagePumpLibevent::Run()
 intel#30 0x7f9f02032dd7 base::MessageLoop::RunHandler()
 intel#31 0x7f9f0207300a base::RunLoop::Run()
 intel#32 0x7f9f01678366 ChromeBrowserMainParts::MainMessageLoopRun()
 intel#33 0x7f9f05851634 content::BrowserMainLoop::RunMainMessageLoopParts()
 intel#34 0x7f9f058589dc content::BrowserMainRunnerImpl::Run()
 intel#35 0x7f9f0584dba8 content::BrowserMain()
 intel#36 0x7f9f01f73f75 content::RunNamedProcessTypeMain()
 intel#37 0x7f9f01f74fa1 content::ContentMainRunnerImpl::Run()
 intel#38 0x7f9f01f73439 content::ContentMain()
 intel#39 0x7f9f00d75344 ChromeMain
 intel#40 0x7f9f00d752ea main
 intel#41 0x7f9efcbc876d __libc_start_main
 intel#42 0x7f9f00d751f9 <unknown>

(cherry picked from commit 374e95a)
@JunghanKim JunghanKim mentioned this pull request Oct 15, 2014
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants